package org.needle4j.junit; import static org.needle4j.junit.NeedleBuilders.databaseTestRule; import static org.needle4j.junit.NeedleBuilders.needleTestRule; import static org.needle4j.junit.NeedleBuilders.outerRule; import javax.enterprise.inject.Instance; import javax.inject.Inject; import javax.persistence.EntityManager; import org.junit.Assert; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestRule; import org.needle4j.annotation.ObjectUnderTest; import org.needle4j.mock.MockitoProvider; public class NeedleBuildersTest { @Rule public TestRule rule = outerRule(needleTestRule(this).build()).around(databaseTestRule().build()); @ObjectUnderTest() private Runnable runnable = new Runnable() { @Inject private Instance<Runnable> instance; @Override public void run() { instance.get(); } }; @Inject private MockitoProvider mockitoProvider; @Inject private EntityManager entityManager; @Test public void testRuleChain() throws Exception { Assert.assertNotNull(mockitoProvider); Assert.assertNotNull(runnable); Assert.assertNotNull(entityManager); } }