package org.simpleframework.xml.convert; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; import junit.framework.TestCase; public class ConverterFactoryTest extends TestCase { private static class A implements Converter { public Object read(InputNode node) { return null; } public void write(OutputNode node, Object value) { return; } } private static class B extends A {} private static class C extends A {} public void testFactory() throws Exception { ConverterFactory factory = new ConverterFactory(); Converter a1 = factory.getInstance(A.class); Converter b1 = factory.getInstance(B.class); Converter c1 = factory.getInstance(C.class); Converter a2 = factory.getInstance(A.class); Converter b2 = factory.getInstance(B.class); Converter c2 = factory.getInstance(C.class); assertTrue(a1 == a2); assertTrue(b1 == b2); assertTrue(c1 == c2); assertEquals(a1.getClass(), A.class); assertEquals(b1.getClass(), B.class); assertEquals(c1.getClass(), C.class); } }