package org.dayatang.ioc.spring.factory; import org.dayatang.domain.InstanceProvider; import org.dayatang.ioc.test.*; import org.junit.Test; import java.util.Arrays; import java.util.List; import java.util.Set; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class ProviderWithAnnotationTest extends AbstractInstanceProviderTest { private SpringInstanceProvider instance; @Override protected InstanceProvider createInstanceProvider() { return new SpringInstanceProvider(SpringConfiguration.class); } @Test public void testGetInstanceByFactoryBean() { Service1 service = getProvider().getInstance(Service1.class); assertEquals("I am Service 1", service.sayHello()); } @Test public void testGetInstances() { List<Service> expected = Arrays.asList( new MyService1(), new MyService21(), new MyService22(), new MyService23(), new MyService3() ); Set<Service> services = getProvider().getInstances(Service.class); assertTrue(services.containsAll(expected)); } }