KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > picocontainer > doc > tutorial > blocks > BuildingBlocksTestCase


1 package org.picocontainer.doc.tutorial.blocks;
2
3 import junit.framework.TestCase;
4
5 import org.picocontainer.MutablePicoContainer;
6 import org.picocontainer.defaults.CachingComponentAdapter;
7 import org.picocontainer.defaults.CachingComponentAdapterFactory;
8 import org.picocontainer.defaults.ConstructorInjectionComponentAdapter;
9 import org.picocontainer.defaults.DefaultPicoContainer;
10 import org.picocontainer.defaults.InstanceComponentAdapter;
11 import org.picocontainer.defaults.SetterInjectionComponentAdapter;
12 import org.picocontainer.defaults.SetterInjectionComponentAdapterFactory;
13 import org.picocontainer.defaults.SynchronizedComponentAdapter;
14 import org.picocontainer.defaults.SynchronizedComponentAdapterFactory;
15 import org.picocontainer.doc.introduction.Apple;
16 import org.picocontainer.doc.introduction.Juicer;
17 import org.picocontainer.doc.introduction.Peeler;
18
19
20 /**
21  * Test case for the snippets used in "Component Adapters and Factories"
22  *
23  * @author Jörg Schaible
24  */

25 public class BuildingBlocksTestCase extends TestCase {
26     public void testRegisterConvenient() {
27         // START SNIPPET: register-convenient
28
MutablePicoContainer picoContainer = new DefaultPicoContainer();
29         picoContainer.registerComponentImplementation(Juicer.class);
30         picoContainer.registerComponentImplementation("My Peeler", Peeler.class);
31         picoContainer.registerComponentInstance(new Apple());
32         // END SNIPPET: register-convenient
33
// START SNIPPET: register-direct
34
picoContainer.registerComponent(new InstanceComponentAdapter("Another Apple", new Apple()));
35         // END SNIPPET: register-direct
36
}
37
38     public void testRegisterEquivalentConvenient() {
39         MutablePicoContainer picoContainer = new DefaultPicoContainer();
40         // START SNIPPET: register-equivalent-convenient
41
picoContainer.registerComponentImplementation(Juicer.class);
42         // END SNIPPET: register-equivalent-convenient
43
}
44
45     public void testRegisterEquivalentAtLength() {
46         MutablePicoContainer picoContainer = new DefaultPicoContainer();
47         // START SNIPPET: register-equivalent-at-length
48
picoContainer.registerComponent(
49                 new CachingComponentAdapter(
50                         new ConstructorInjectionComponentAdapter(Juicer.class, Juicer.class, null)));
51         // END SNIPPET: register-equivalent-at-length
52
}
53
54     public void testRegisterDifferentComponentAdapterFactory() {
55         // START SNIPPET: register-different-caf
56
MutablePicoContainer picoContainer = new DefaultPicoContainer(
57                 new SynchronizedComponentAdapterFactory(
58                         new CachingComponentAdapterFactory(
59                                 new SetterInjectionComponentAdapterFactory())));
60         // END SNIPPET: register-different-caf
61
}
62
63     public void testRegisterEquivalentAtLength2() {
64         MutablePicoContainer picoContainer = new DefaultPicoContainer();
65         // START SNIPPET: register-equivalent-at-length2
66
picoContainer.registerComponent(
67                 new SynchronizedComponentAdapter(
68                         new CachingComponentAdapter(
69                                 new SetterInjectionComponentAdapter(
70                                         JuicerBean.class, JuicerBean.class, null))));
71         // END SNIPPET: register-equivalent-at-length2
72
}
73 }
74
Popular Tags