package cucumber.runtime.java.needle.config;
import static cucumber.runtime.java.needle.config.CucumberNeedleConfiguration.isInjectionProvider;
import static cucumber.runtime.java.needle.config.CucumberNeedleConfiguration.isInjectionProviderInstanceSupplier;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import cucumber.api.needle.InjectionProviderInstancesSupplier;
import cucumber.runtime.java.needle.test.injectionprovider.SimpleNameGetterProvider;
import de.akquinet.jbosscc.needle.injection.InjectionProvider;
public class CucumberNeedleConfigurationTest {
public abstract static class A implements InjectionProviderInstancesSupplier {
};
@Test
public void shouldReturnEmptyInstances() {
final InjectionProvider<?>[] allInjectionProviders = new CucumberNeedleConfiguration("resource-bundles/empty")
.getInjectionProviders();
assertNotNull(allInjectionProviders);
assertThat(allInjectionProviders.length, is(0));
}
@Test
public void shouldEvaluateIfTypeIsInjectionProviderOrSupplier() throws Exception {
assertTrue(isInjectionProvider(SimpleNameGetterProvider.class));
assertFalse(isInjectionProviderInstanceSupplier(SimpleNameGetterProvider.class));
assertFalse(isInjectionProvider(A.class));
assertTrue(isInjectionProviderInstanceSupplier(A.class));
}
}