KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jodd > petite > WireTest


1 // Copyright (c) 2003-2007, Jodd Team (jodd.sf.net). All Rights Reserved.
2

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 JavaDoc {
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 JavaDoc[] {"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         // register again the same class, but this time with proto scope
37
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         // register boo
46
pc.register(Boo.class);
47         assertEquals(3, pc.getTotalBeans());
48         assertEquals(2, pc.getTotalScopes());
49
50         Boo boo;
51         try {
52             //noinspection UnusedAssignment
53
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); // not equal instances!!!
85
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             // ignore
112
}
113     }
114 }
115
Popular Tags