1 10 11 package org.picocontainer.alternatives; 12 13 import java.util.ArrayList ; 14 import java.util.Iterator ; 15 import java.util.List ; 16 17 import org.picocontainer.MutablePicoContainer; 18 import org.picocontainer.PicoContainer; 19 import org.picocontainer.alternatives.ImmutablePicoContainerTestCase.UnsatisfiableIterator; 20 import org.picocontainer.defaults.ConstructorInjectionComponentAdapterFactory; 21 import org.picocontainer.defaults.DefaultPicoContainer; 22 import org.picocontainer.tck.AbstractPicoContainerTestCase; 23 24 28 public class CachingPicoContainerTestCase extends AbstractPicoContainerTestCase { 29 30 protected MutablePicoContainer createImplementationHidingPicoContainer() { 31 return new CachingPicoContainer(); 32 } 33 34 protected MutablePicoContainer createPicoContainer(PicoContainer parent) { 35 return new CachingPicoContainer(parent); 36 } 37 38 public void testUsageOfADifferentComponentAdapterFactory() { 39 MutablePicoContainer parent = new DefaultPicoContainer(); 41 CachingPicoContainer pico = new CachingPicoContainer(new ConstructorInjectionComponentAdapterFactory(), parent); 42 pico.registerComponentImplementation(List .class, ArrayList .class); 43 List list1 = (List ) pico.getComponentInstanceOfType(List .class); 44 List list2 = (List ) pico.getComponentInstanceOfType(List .class); 45 assertNotNull(list1); 46 assertNotNull(list2); 47 assertTrue(list1 == list2); 48 } 49 50 51 public void testComponentAdaptersListsAreNotCached() { 52 MutablePicoContainer parent = new DefaultPicoContainer(); 53 CachingPicoContainer pico = new CachingPicoContainer(new ConstructorInjectionComponentAdapterFactory(), parent); 54 pico.registerComponentImplementation(List .class, ArrayList .class); 55 List list1 = (List ) pico.getComponentAdaptersOfType(List .class); 56 List list2 = (List ) pico.getComponentAdaptersOfType(List .class); 57 assertNotNull(list1); 58 assertNotNull(list2); 59 assertTrue(list1 != list2); 60 } 61 62 63 public void testDelegationOfVerify() { 64 DefaultPicoContainer mpc = new DefaultPicoContainer(); 65 mpc.registerComponentImplementation(Iterator .class, UnsatisfiableIterator.class); 66 CachingPicoContainer pico = new CachingPicoContainer(mpc); 67 pico.verify(); 68 69 } 70 71 } 72
| Popular Tags
|