1 3 package jodd.petite; 4 5 import junit.framework.TestCase; 6 import jodd.petite.config.AutomagicPetiteConfig; 7 import jodd.petite.test.*; 8 import jodd.petite.scope.ProtoScope; 9 10 public class WireTest extends TestCase { 11 12 13 protected void setUp() throws Exception { 14 super.setUp(); 15 Foo.instanceCounter = 0; 16 } 17 18 public void testContainer() { 19 PetiteContainer pc = new PetiteContainer(); 20 AutomagicPetiteConfig configurator = new AutomagicPetiteConfig(); 21 configurator.setIncludedPackages(new String [] {"jodd.petite.*"}); 22 configurator.configure(pc); 23 24 assertEquals(1, pc.getTotalBeans()); 25 assertEquals(1, pc.getTotalScopes()); 26 assertEquals(0, Foo.instanceCounter); 27 28 29 Foo foo = (Foo) pc.getBean("foo"); 30 assertNotNull(foo); 31 assertEquals(1, foo.hello()); 32 foo = (Foo) pc.getBean("foo"); 33 assertEquals(1, foo.hello()); 34 35 36 pc.register("foo2", Foo.class, ProtoScope.class); 38 assertEquals(2, pc.getTotalBeans()); 39 assertEquals(2, pc.getTotalScopes()); 40 41 assertEquals(2, ((Foo) pc.getBean("foo2")).hello()); 42 assertEquals(3, ((Foo) pc.getBean("foo2")).hello()); 43 44 45 pc.register(Boo.class); 47 assertEquals(3, pc.getTotalBeans()); 48 assertEquals(2, pc.getTotalScopes()); 49 50 Boo boo; 51 try { 52 boo = (Boo) pc.getBean("boo"); 54 fail(); 55 } catch (PetiteException pex) { 56 } 57 58 pc.register(Zoo.class); 59 assertEquals(4, pc.getTotalBeans()); 60 assertEquals(2, pc.getTotalScopes()); 61 62 boo = (Boo) pc.getBean("boo"); 63 assertNotNull(boo); 64 assertNotNull(boo.getFoo()); 65 assertNotNull(boo.zoo); 66 assertTrue(boo.zoo.boo == boo); 67 assertEquals(3, boo.getFoo().hello()); 68 assertEquals(1, boo.getFoo().getCounter()); 69 } 70 71 public void testCreate() { 72 PetiteContainer pc = new PetiteContainer(); 73 pc.register(Foo.class); 74 pc.register(Zoo.class); 75 pc.register(Boo.class); 76 assertEquals(3, pc.getTotalBeans()); 77 assertEquals(1, pc.getTotalScopes()); 78 assertEquals(0, Foo.instanceCounter); 79 80 Boo boo = (Boo) pc.create(Boo.class); 81 assertNotNull(boo); 82 assertNotNull(boo.getFoo()); 83 assertNotNull(boo.zoo); 84 assertFalse(boo.zoo.boo == boo); assertEquals(1, boo.getFoo().hello()); 86 } 87 88 public void testCtor() { 89 PetiteContainer pc = new PetiteContainer(); 90 pc.register(BooC.class); 91 pc.register(Foo.class); 92 assertEquals(2, pc.getTotalBeans()); 93 assertEquals(1, pc.getTotalScopes()); 94 assertEquals(0, Foo.instanceCounter); 95 96 BooC boo = (BooC) pc.getBean("booC"); 97 assertNotNull(boo); 98 assertNotNull(boo.getFoo()); 99 assertEquals(1, boo.getFoo().hello()); 100 101 pc.register("boo", BooC2.class); 102 pc.register(Zoo.class); 103 assertEquals(4, pc.getTotalBeans()); 104 assertEquals(1, pc.getTotalScopes()); 105 assertEquals(1, Foo.instanceCounter); 106 107 try { 108 pc.getBean("boo"); 109 fail(); 110 } catch (PetiteException pex) { 111 } 113 } 114 } 115 | Popular Tags |