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