package jnpf.elnService.impl; import org.junit.Test; import org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor; import java.lang.reflect.Constructor; import java.util.Arrays; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; public class ElnRuntimeServiceWiringTest { @Test public void exposesOneSpringInjectableConstructorPerRuntimeService() { List> services = Arrays.>asList( ElnRecordCreationServiceImpl.class, ElnRecordFillAccessServiceImpl.class, ElnRecordFillDataServiceImpl.class, ElnRecordFormulaCalculationServiceImpl.class, ElnRecordFreezeCheckServiceImpl.class, ElnRecordRecalculationServiceImpl.class, ElnRecordRevisionServiceImpl.class, ElnRecordSharedFillDocumentService.class, ElnRecordSourceSyncServiceImpl.class); AutowiredAnnotationBeanPostProcessor processor = new AutowiredAnnotationBeanPostProcessor(); for (Class service : services) { Constructor[] constructors = processor.determineCandidateConstructors( service, service.getSimpleName()); assertNotNull(service.getSimpleName(), constructors); assertEquals(service.getSimpleName(), 1, constructors.length); } } }