samples/aserverinfo/test/org/apidesign/aserverinfo/test/MagicalBagFactoryTest.java
Updating to NBMs from NetBeans 8.0.1 as some of them are required to run on JDK8
1 package org.apidesign.aserverinfo.test;
3 import java.net.MalformedURLException;
5 import java.util.logging.Level;
6 import java.util.logging.Logger;
7 import org.apidesign.aserverinfo.magicalbagfactory.ServerConnector;
8 import org.apidesign.aserverinfo.spi.NameProvider;
9 import org.apidesign.aserverinfo.spi.ResetHandler;
10 import org.apidesign.aserverinfo.spi.URLProvider;
11 import org.junit.After;
12 import org.junit.Before;
13 import org.junit.Test;
14 import static org.junit.Assert.*;
15 import org.openide.util.Lookup;
16 import org.openide.util.lookup.AbstractLookup;
17 import org.openide.util.lookup.InstanceContent;
19 public class MagicalBagFactoryTest {
21 public MagicalBagFactoryTest() {
29 public void tearDown() {
33 public void showUseOfMagicalBagFactory() throws Exception {
34 Prov provider = new Prov();
37 // BEGIN: ServerConnector.magicalbag.creation
38 InstanceContent magicalContent = new InstanceContent();
39 Lookup magicalBag = new AbstractLookup(magicalContent);
40 magicalContent.add(provider);
42 inf = ServerConnector.create(magicalBag);
43 // END: ServerConnector.magicalbag.creation
45 assertEquals("API Design Server", inf.getName());
46 assertEquals("http://www.apidesign.org", inf.getURL().toExternalForm());
48 assertEquals("Once reset", 1, provider.resets);
51 // BEGIN: ServerConnector.magicalbag.change
52 magicalContent.remove(provider);
54 assertEquals("No reset called now", 0, provider.resets);
55 // END: ServerConnector.magicalbag.change
58 private static class Prov implements NameProvider, URLProvider, ResetHandler {
61 public String getName() {
62 return "API Design Server";
67 return new URL("http://www.apidesign.org");
68 } catch (MalformedURLException ex) {
69 Logger.getLogger(MagicalBagFactoryTest.class.getName()).log(Level.SEVERE, null, ex);