刘光辉
119 分钟以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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<Class<?>> services = Arrays.<Class<?>>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);
        }
    }
}