package ca.uhn.fhir.util; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.List; import org.junit.Test; import ca.uhn.fhir.context.ConfigurationException; public class ReflectionUtilTest { @Test public void testNewInstance() { assertEquals(ArrayList.class, ReflectionUtil.newInstance(ArrayList.class).getClass()); } @Test public void testNewInstanceOrReturnNullString() { assertEquals(ArrayList.class, ReflectionUtil.newInstanceOrReturnNull(ArrayList.class.getName(), List.class).getClass()); } @Test public void testNewInstanceOrReturnNullWrong1() { assertEquals(null, ReflectionUtil.newInstanceOrReturnNull("foo.Foo", List.class)); } @Test public void testNewInstanceOrReturnNullWrong2() { try { ReflectionUtil.newInstanceOrReturnNull("java.lang.String", List.class); fail(); } catch (ConfigurationException e) { assertEquals("java.lang.String is not assignable to interface java.util.List", e.getMessage()); } } @Test public void testNewInstanceFail() { try { ReflectionUtil.newInstance(List.class); fail(); } catch (ConfigurationException e) { assertEquals("Failed to instantiate java.util.List", e.getMessage()); } } }