package org.needle4j.injection.cdi.instance;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
import org.needle4j.annotation.ObjectUnderTest;
import org.needle4j.junit.NeedleRule;
public class InstanceConstructorInjectionTest {
@Rule
public NeedleRule needleRule = new NeedleRule();
@ObjectUnderTest
private InstanceConstructorInjectionBean component;
@Inject
private Instance<InstanceTestBean> instance;
@Inject
private Instance<Runnable> runnableInstances;
@Test
public void testInstanceMethodInjection() throws Exception {
Assert.assertNotNull(instance);
Assert.assertNotNull(runnableInstances);
Assert.assertNotSame(instance, runnableInstances);
Assert.assertNotNull(component.getInstance());
Assert.assertSame(instance, component.getInstance());
}
}