(no commit message)
[utils] / support / cdi / src / test / java / org / wamblee / cdi / InjectorBuilderTest.java
index dd1210fbf5b20b89a2ca0dee52fad97a19177ccb..50c436d3d7d204c7f51a9370ba92db6024366430 100644 (file)
@@ -26,17 +26,17 @@ import org.wamblee.cdi.SimpleInjectorTest.X;
 import org.wamblee.cdi.SimpleInjectorTest.Y;
 import org.wamblee.inject.InjectorFactory;
 import org.wamblee.inject.InjectorBuilder;
+import org.wamblee.test.cdi.BeanManagerSetup;
 import org.wamblee.test.jndi.StubInitialContextFactory;
 
 public class InjectorBuilderTest extends BaseTestFixture {
-    
 
     @Test
-    public void testCdiInjectorFactoryIsFound() throws Exception { 
+    public void testCdiInjectorFactoryIsFound() throws Exception {
         BeanManagerSetup setup = new BeanManagerSetup();
         setup.initialize();
         StubInitialContextFactory.register();
-        InitialContext ctx = new InitialContext(); 
+        InitialContext ctx = new InitialContext();
         ctx.bind(BeanManagerLookup.BEAN_MANAGER_JNDI, setup.getBeanManager());
         try {
             InjectorFactory factory = InjectorBuilder.getInjectorFactory();
@@ -46,4 +46,23 @@ public class InjectorBuilderTest extends BaseTestFixture {
             StubInitialContextFactory.unregister();
         }
     }
+
+    @Test
+    public void testInjectManyTimes() {
+        int n = 1000;
+        BeanManagerSetup setup = new BeanManagerSetup();
+        setup.initialize();
+        BeanManagerLookup.setBeanManager(setup.getBeanManager());
+        InjectorBuilder.setInjectorFactory(null);
+        long t0 = System.currentTimeMillis();
+        for (int i = 0; i < n; i++) {
+            MyPojo pojo = new MyPojo();
+            InjectorBuilder.getInjector().inject(pojo);
+        }
+        long t1 = System.currentTimeMillis();
+        System.out.println(t1 - t0);
+        System.out.println("Injections per second: " + ((double) n) /
+            ((double) (t1 - t0)) * ((double) 1000));
+        setup.shutdown();
+    }
 }