package org.needle4j.configuration; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.lang.annotation.Annotation; import java.util.Set; import org.junit.Test; import org.needle4j.db.operation.hsql.HSQLDeleteOperation; import org.needle4j.injection.CustomInjectionAnnotation1; import org.needle4j.injection.CustomInjectionAnnotation2; import org.needle4j.mock.EasyMockProvider; public class PropertyBasedConfigurationFactoryTest { private final NeedleConfiguration needleConfiguration = PropertyBasedConfigurationFactory.get(); @Test public void testGetMockProviderClass_Default() throws Exception { assertEquals(EasyMockProvider.class.getName(), needleConfiguration.getMockProviderClassName()); } @Test public void testDBOperationClassName_NoDefaults() throws Exception { assertEquals(HSQLDeleteOperation.class.getName(), needleConfiguration.getDBOperationClassName()); } @Test public void testGetCustomInjectionAnnotations() throws Exception { final Set<Class<Annotation>> customInjectionAnnotations = needleConfiguration.getCustomInjectionAnnotations(); assertEquals(2, customInjectionAnnotations.size()); assertTrue(customInjectionAnnotations.contains(CustomInjectionAnnotation1.class)); assertTrue(customInjectionAnnotations.contains(CustomInjectionAnnotation2.class)); } @Test public void testJdbcUrl() throws Exception { assertEquals("jdbc:hsqldb:mem:memoryDB", needleConfiguration.getJdbcUrl()); } }