KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > tests > jfun > yan > SingletonContainerTestCase


1 /*
2  * Created on Mar 10, 2005
3  *
4  * Author Ben Yu
5  * ZBS
6  */

7 package tests.jfun.yan;
8
9 import java.util.ArrayList JavaDoc;
10 import java.util.Collection JavaDoc;
11 import java.util.HashMap JavaDoc;
12 import java.util.List JavaDoc;
13 import java.util.Map JavaDoc;
14
15 import tests.jfun.yan.tck.BaseContainerTestCase;
16 import jfun.yan.containers.*;
17 import jfun.yan.*;
18 import junit.framework.TestSuite;
19
20 /**
21  * Zephyr Business Solution
22  *
23  * @author Ben Yu
24  *
25  */

26 public class SingletonContainerTestCase extends BaseContainerTestCase {
27   public static void main(String JavaDoc[] args){
28     Utils.runTest(suite());
29   }
30   private static TestSuite suite(){
31     return new TestSuite(SingletonContainerTestCase.class);
32   }
33   protected Container getContainerImpl(){
34     return new SingletonContainer();
35   }
36   public void testCachedInstances(){
37     final Container yan = createYanContainer();
38     yan.registerComponent(Collection JavaDoc.class,
39         Components.ctor(ArrayList JavaDoc.class, new Class JavaDoc[]{int.class}));
40     yan.registerValue(int.class, new Integer JavaDoc(10));
41     yan.verify();
42     final Collection JavaDoc col1 = (Collection JavaDoc)yan.getInstanceOfType(List JavaDoc.class);
43     assertEquals(0, col1.size());
44     assertSame(col1, yan.getInstance(Collection JavaDoc.class));
45     assertSame(col1, yan.getInstancesOfType(List JavaDoc.class).get(0));
46     final Integer JavaDoc i1 = (Integer JavaDoc)yan.getInstance(int.class);
47     assertEquals(10, i1.intValue());
48     assertSame(i1, yan.getInstanceOfType(Integer JavaDoc.class));
49     assertSame(i1, yan.getInstanceOfType(int.class));
50   }
51 }
52
Popular Tags