package org.needle4j.injection; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.junit.Assert.assertThat; import static org.needle4j.injection.InjectionProviders.providerForQualifiedInstance; import javax.inject.Inject; import org.junit.Rule; import org.junit.Test; import org.needle4j.MyConcreteComponent; import org.needle4j.junit.NeedleRule; public class InjectionProvidersQualifiedInstanceInjectionProviderTest { private final MyConcreteComponent providedQualifiedInstance = new MyConcreteComponent(); @Rule public final NeedleRule needle = new NeedleRule(providerForQualifiedInstance(CurrentUser.class, providedQualifiedInstance)); @Inject private MyConcreteComponent mockInstance; @Inject @CurrentUser private MyConcreteComponent qualifiedInstance; @Test public void shouldInjectNamedInstance() { assertThat(qualifiedInstance, is(providedQualifiedInstance)); } @Test public void shouldInjectDefaultInstance() { assertThat(mockInstance, not(providedQualifiedInstance)); } }