1 10 11 package org.nanocontainer.reflection; 12 13 import org.nanocontainer.NanoPicoContainer; 14 import org.picocontainer.MutablePicoContainer; 15 import org.picocontainer.PicoContainer; 16 import org.picocontainer.tck.AbstractPicoContainerTestCase; 17 18 22 public class DefaultNanoPicoContainerTestCase extends AbstractPicoContainerTestCase { 23 24 protected MutablePicoContainer createPicoContainer(PicoContainer parent) { 25 return new DefaultNanoPicoContainer(this.getClass().getClassLoader(), parent); 26 } 27 28 public void testNamedChildContainerIsAccessible() { 30 StringBuffer sb = new StringBuffer (); 31 final NanoPicoContainer parent = (NanoPicoContainer) createPicoContainer(null); 32 parent.registerComponentInstance(sb); 33 final NanoPicoContainer child = (NanoPicoContainer) parent.makeChildContainer("foo"); 34 child.registerComponentImplementation(LifeCycleMonitoring.class,LifeCycleMonitoring.class); 35 LifeCycleMonitoring o = (LifeCycleMonitoring) parent.getComponentInstance("foo/*" + LifeCycleMonitoring.class.getName()); 36 assertNotNull(o); 37 } 38 39 public void testNamedChildContainerIsAccessibleForStringKeys() { 41 StringBuffer sb = new StringBuffer (); 42 final NanoPicoContainer parent = (NanoPicoContainer) createPicoContainer(null); 43 parent.registerComponentInstance(sb); 44 final MutablePicoContainer child = parent.makeChildContainer("foo"); 45 child.registerComponentImplementation("lcm",LifeCycleMonitoring.class); 46 Object o = parent.getComponentInstance("foo/lcm"); 47 assertNotNull(o); 48 assertTrue(sb.toString().indexOf("-instantiated") != -1); 49 } 50 51 public void testNamedChildContainerIsAccessibleForClassKeys() { 53 StringBuffer sb = new StringBuffer (); 54 final NanoPicoContainer parent = (NanoPicoContainer) createPicoContainer(null); 55 parent.registerComponentInstance(sb); 56 final MutablePicoContainer child = parent.makeChildContainer("foo"); 57 child.registerComponentImplementation(LifeCycleMonitoring.class,LifeCycleMonitoring.class); 58 Object o = parent.getComponentInstance("foo/*" + LifeCycleMonitoring.class.getName()); 59 assertNotNull(o); 60 assertTrue(sb.toString().indexOf("-instantiated") != -1); 61 } 62 63 public void testMakeRemoveChildContainer() { 64 final NanoPicoContainer parent = (NanoPicoContainer) createPicoContainer(null); 65 parent.registerComponentInstance("java.lang.String", "This is a test"); 66 MutablePicoContainer pico = parent.makeChildContainer(); 67 assertNotNull(pico.getComponentInstance("java.lang.String")); 69 boolean result = parent.removeChildContainer(pico); 70 assertTrue(result); 71 } 72 73 75 76 } 77
| Popular Tags
|