package com.networknt.service; import org.junit.Assert; import org.junit.Test; import java.util.Arrays; /** * Created by steve on 2016-11-26. */ public class SingletonServiceFactoryTest { @Test public void testGetSingleBean() { A a = (A)SingletonServiceFactory.getBean(A.class); Assert.assertEquals("a real", a.a()); B b = (B)SingletonServiceFactory.getBean(B.class); Assert.assertEquals("b test", b.b()); C c = (C)SingletonServiceFactory.getBean(C.class); Assert.assertEquals("a realb test", c.c()); } @Test public void testGetMultipleBean() { Object object = SingletonServiceFactory.getBean(Processor.class); //Processor[] processors = (Processor[])object; Arrays.stream((Processor[])object).forEach(processor -> System.out.println(processor.process())); } @Test public void testMultipleInterfaceOneBean() { Object object1 = SingletonServiceFactory.getBean(D1.class); Object object2 = SingletonServiceFactory.getBean(D2.class); Assert.assertEquals(object1, object2); } @Test public void testMultipleToMultiple() { Object e = SingletonServiceFactory.getBean(E.class); Arrays.stream((E[])e).forEach(o -> System.out.println(o.e())); Object f = SingletonServiceFactory.getBean(F.class); Arrays.stream((F[])f).forEach(o -> System.out.println(o.f())); } @Test public void testSingleWithProperties() { G g = (G)SingletonServiceFactory.getBean(G.class); Assert.assertEquals("Sky Walker", g.getName()); Assert.assertEquals(23, g.getAge()); } //@Test public void testMultipleWithProperties() { Object j = SingletonServiceFactory.getBean(J.class); Arrays.stream((J[])j).forEach(o -> System.out.println(o.getJack())); Object k = SingletonServiceFactory.getBean(K.class); Arrays.stream((K[])k).forEach(o -> System.out.println(o.getKing())); } @Test public void testMap() { LImpl l = (LImpl)SingletonServiceFactory.getBean(L.class); Assert.assertEquals("https", l.getProtocol()); Assert.assertEquals(8080, l.getPort()); Assert.assertEquals(2, l.getParameters().size()); } @Test public void testConstructorWithParameters() { MImpl m = (MImpl)SingletonServiceFactory.getBean(M.class); Assert.assertEquals(5, m.getValue()); } }