/** * @param extension */ private void injectInstances(Extension extension) { for (InjectionPoint point : extension.getInjectionPoints()) { point.set(InstanceImpl.of(Reflections.getType(point.getType()), point.getScope(), this)); } }
/** * @param extension */ private void injectInstances(Extension extension) { for (InjectionPoint point : extension.getInjectionPoints()) { point.set(InstanceImpl.of(Reflections.getType(point.getType()), point.getScope(), this)); } }
@Test public void shouldBeAbleToReadAndInvokeInjectionPoints() throws Exception { ExtensionWithInjection target = new ExtensionWithInjection(); Extension extension = ExtensionImpl.of(target); Assert.assertEquals( "Verify correct injection fields were found", 1, extension.getInjectionPoints().size()); Instance<Object> instance = new DummyInstanceImpl(); for (InjectionPoint point : extension.getInjectionPoints()) { point.set(instance); } extension.getObservers().get(0).invoke(null, new Object()); Assert.assertTrue(target.methodOneWasCalled); Assert.assertNotNull(instance.get()); }
@Test public void shouldBeAbleToReadAndInvokeInjectionPoints() throws Exception { ExtensionWithInjection target = new ExtensionWithInjection(); Extension extension = ExtensionImpl.of(target); Assert.assertEquals( "Verify correct injection fields were found", 1, extension.getInjectionPoints().size()); Instance<Object> instance = new DummyInstanceImpl(); for (InjectionPoint point : extension.getInjectionPoints()) { point.set(instance); } extension.getObservers().get(0).invoke(null, new Object()); Assert.assertTrue(target.methodOneWasCalled); Assert.assertNotNull(instance.get()); }