Renaming the AServerInfo class to ServerConnector and spliting it into three separate classes.
1 package org.apidesign.aserverinfo.test;
3 import java.net.MalformedURLException;
5 import org.apidesign.aserverinfo.cummulativefactory.ServerConnector;
6 import org.apidesign.aserverinfo.spi.NameProvider;
7 import org.apidesign.aserverinfo.spi.ResetHandler;
8 import org.apidesign.aserverinfo.spi.URLProvider;
9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12 import static org.junit.Assert.*;
13 import org.openide.util.Exceptions;
15 public class ServerConnectorTest {
17 public ServerConnectorTest() {
25 public void tearDown() {
29 public void showUseOfCumulativeFactory() throws Exception {
36 // BEGIN: ServerConnector.cumulative.creation
37 inf = ServerConnector.empty().nameProvider(np).urlProvider(up).reset(res);
38 // END: ServerConnector.cumulative.creation
40 assertEquals("API Design Server", inf.getName());
41 assertEquals("http://www.apidesign.org", inf.getURL().toExternalForm());
43 assertEquals("Once reset", 1, p.resets);
48 public void showVerboseUseOfCumulativeFactory() throws Exception {
49 Prov prov = new Prov();
52 // BEGIN: ServerConnector.cumulative.creation.verbose
53 ServerConnector empty = ServerConnector.empty();
54 ServerConnector name = empty.nameProvider(prov);
55 ServerConnector urlAndName = name.urlProvider(prov);
56 info = urlAndName.reset(prov);
57 // END: ServerConnector.cumulative.creation.verbose
59 assertEquals("API Design Server", info.getName());
60 assertEquals("http://www.apidesign.org", info.getURL().toExternalForm());
62 assertEquals("Once reset", 1, prov.resets);
67 private static class Prov implements NameProvider, URLProvider, ResetHandler {
70 public String getName() {
71 return "API Design Server";
76 return new URL("http://www.apidesign.org");
77 } catch (MalformedURLException ex) {
78 Exceptions.printStackTrace(ex);