(no commit message)
[utils] / support / cdi / src / test / java / org / wamblee / cdi / WeldTest.java
1 package org.wamblee.cdi;
2
3 import static junit.framework.Assert.*;
4
5 import javax.enterprise.context.spi.CreationalContext;
6 import javax.enterprise.inject.spi.AnnotatedType;
7 import javax.enterprise.inject.spi.InjectionTarget;
8
9 import org.junit.After;
10 import org.junit.Before;
11 import org.junit.Test;
12
13 public class WeldTest {
14     
15     private BeanManagerSetup setup; 
16     
17     @Before
18     public void setUp() {
19         setup = new BeanManagerSetup(); 
20         setup.initialize(); 
21     }
22     
23     @After
24     public void tearDown() { 
25         setup.shutdown();
26     }
27     
28     @Test
29     public void testGetSingleton() { 
30         AnnotatedType<MyPojo> type = setup.getBeanManager().createAnnotatedType(MyPojo.class);
31         InjectionTarget<MyPojo> target = setup.getBeanManager().createInjectionTarget(type);
32         CreationalContext<MyPojo> ctx = setup.getBeanManager().createCreationalContext(null);
33         
34         MyPojo pojo = new MyPojo(); 
35         
36         target.inject(pojo, ctx); 
37         
38         MySingleton obj = pojo.getSingleton(); 
39         
40         assertNotNull(obj);
41         
42         MyPojo pojo2 = new MyPojo(); 
43         target.inject(pojo2, ctx); 
44                 
45         // Objects will not be the same as they are contextual references to the same object.
46         // assertSame(pojo2, pojo);
47
48         assertEquals(1, MySingleton.getInstances());
49     }
50 }