(no commit message)
[utils] / support / cdi / src / test / java / org / wamblee / cdi / WeldTest.java
index c8608825d240a13c1b8538ac4a3e1629448c8af3..c6f378e81188f62870b49e959851bd1649d52402 100644 (file)
@@ -1,55 +1,61 @@
 package org.wamblee.cdi;
 
+import static junit.framework.Assert.*;
+
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.AnnotatedType;
-import javax.enterprise.inject.spi.BeanManager;
 import javax.enterprise.inject.spi.InjectionTarget;
 
-import org.jboss.weld.environment.se.Weld;
-import org.jboss.weld.environment.se.WeldContainer;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import static junit.framework.TestCase.*;
+import org.wamblee.test.cdi.BeanManagerSetup;
 
 public class WeldTest {
-    
-    private Weld weld;
-    private WeldContainer container; 
-    private BeanManager beanManager; 
+
+    private BeanManagerSetup setup;
 
     @Before
     public void setUp() {
-        weld = new Weld();
-        container = weld.initialize(); 
-        beanManager = container.getBeanManager();
+        setup = new BeanManagerSetup();
+        setup.initialize();
+        MySingleton.reset();
     }
-    
+
     @After
-    public void tearDown() { 
-        weld.shutdown(); 
+    public void tearDown() {
+        setup.shutdown();
     }
-    
+
     @Test
-    public void testGetSingleton() { 
-        AnnotatedType<MyPojo> type = beanManager.createAnnotatedType(MyPojo.class);
-        InjectionTarget<MyPojo> target = beanManager.createInjectionTarget(type);
-        CreationalContext<MyPojo> ctx = beanManager.createCreationalContext(null);
-        
-        MyPojo pojo = new MyPojo(); 
-        
-        target.inject(pojo, ctx); 
-        
-        MySingleton obj = pojo.getSingleton(); 
-        
+    public void testGetSingleton() {
+        AnnotatedType<MyPojo> type = setup.getBeanManager()
+            .createAnnotatedType(MyPojo.class);
+        InjectionTarget<MyPojo> target = setup.getBeanManager()
+            .createInjectionTarget(type);
+        CreationalContext<MyPojo> ctx = setup.getBeanManager()
+            .createCreationalContext(null);
+
+        MyPojo pojo = new MyPojo();
+
+        target.inject(pojo, ctx);
+
+        MySingleton obj = pojo.getSingleton();
+
         assertNotNull(obj);
-        
-        MyPojo pojo2 = new MyPojo(); 
-        target.inject(pojo2, ctx); 
-                
-        // Objects will not be the same as they are contextual references to the same object.
+
+        MyPojo pojo2 = new MyPojo();
+        target.inject(pojo2, ctx);
+
+        // Objects will not be the same as they are contextual references to the
+        // same object.
         // assertSame(pojo2, pojo);
 
         assertEquals(1, MySingleton.getInstances());
     }
+
+    @Test
+    public void testAgain() {
+        testGetSingleton();
+    }
 }