samples/aserverinfo/test/org/apidesign/aserverinfo/test/FactoriesTest.java
author Jaroslav Tulach <jtulach@netbeans.org>
Mon, 21 Dec 2009 16:54:12 +0100
changeset 340 9c1a298e51a9
parent 298 5d5cb122088c
permissions -rw-r--r--
Fixing dependencies since the org.openide.util and org.openide.util.lookup are now separate
     1 package org.apidesign.aserverinfo.test;
     2 
     3 import java.util.logging.Logger;
     4 import java.util.logging.Level;
     5 import java.net.MalformedURLException;
     6 import java.net.URL;
     7 import org.apidesign.aserverinfo.factories.ServerConnector;
     8 import org.apidesign.aserverinfo.spi.NameProvider;
     9 import org.apidesign.aserverinfo.spi.ResetHandler;
    10 import org.apidesign.aserverinfo.spi.ShutdownHandler;
    11 import org.apidesign.aserverinfo.spi.URLProvider;
    12 import org.junit.After;
    13 import org.junit.Before;
    14 import org.junit.Test;
    15 import static org.junit.Assert.*;
    16 
    17 public class FactoriesTest {
    18 
    19     public FactoriesTest() {
    20     }
    21 
    22     @Before
    23     public void setUp() {
    24     }
    25 
    26     @After
    27     public void tearDown() {
    28     }
    29 
    30     @Test
    31     public void showUseOfFactoryVersion10() throws Exception {
    32         Prov p = new Prov();
    33         NameProvider np = p;
    34         URLProvider up = p;
    35         ResetHandler res = p;
    36         ServerConnector inf;
    37         
    38         // BEGIN: ServerConnector.factory.creation
    39         inf = ServerConnector.create(np, up, res);
    40         // END: ServerConnector.factory.creation
    41         
    42         assertEquals("API Design Server", inf.getName());
    43         assertEquals("http://www.apidesign.org", inf.getURL().toExternalForm());
    44         inf.reset();
    45         assertEquals("Once reset", 1, p.resets);
    46         
    47     }
    48     @Test
    49     public void showUseOfFactoryVersion20() throws Exception {
    50         Prov p = new Prov();
    51         NameProvider np = p;
    52         URLProvider up = p;
    53         ResetHandler res = p;
    54         ShutdownHandler shutdown = new ShutdownHandler() {
    55             public void shutdown() {
    56                 // OK
    57             }
    58         };
    59         ServerConnector inf;
    60 
    61         // BEGIN: ServerConnector.factory.creation2
    62         inf = ServerConnector.create(np, up, res, shutdown);
    63         // END: ServerConnector.factory.creation2
    64 
    65         assertEquals("API Design Server", inf.getName());
    66         assertEquals("http://www.apidesign.org", inf.getURL().toExternalForm());
    67         inf.reset();
    68         assertEquals("Once reset", 1, p.resets);
    69 
    70     }
    71     
    72     private static class Prov implements NameProvider, URLProvider, ResetHandler {
    73         int resets;
    74 
    75         public String getName() {
    76             return "API Design Server";
    77         }
    78 
    79         public URL getURL() {
    80             try {
    81                 return new URL("http://www.apidesign.org");
    82             } catch (MalformedURLException ex) {
    83                 Logger.getLogger(FactoriesTest.class.getName()).log(Level.SEVERE, null, ex);
    84                 return null;
    85             }
    86         }
    87 
    88         public void reset() {
    89             resets++;
    90         }
    91 
    92     }
    93         
    94 }