@@ -0,0 +1,1688 @@
+package io.github.omskscream.ioc;%0A%0Aimport org.junit.Test;%0A%0Aimport java.lang.reflect.Constructor;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0A/**%0A * @author omskscream%0A */%0Apublic class CreatorTest %7B%0A%0A    @Test%0A    public void constructor() throws ReflectiveOperationException %7B%0A        Constructor%3CInteger%3E integerConstructor0 = Creator.getAppropriateConstructor(Integer.class, 23);%0A        assertEquals(integerConstructor0, Integer.class.getDeclaredConstructor(int.class));%0A%0A        Constructor%3CInteger%3E integerConstructor1 = Creator.getAppropriateConstructor(Integer.class, %2223%22);%0A        assertEquals(integerConstructor1, Integer.class.getDeclaredConstructor(String.class));%0A    %7D%0A%0A    @Test(expected = ReflectiveOperationException.class)%0A    public void constructorError() throws ReflectiveOperationException %7B%0A        Constructor%3CInteger%3E integerConstructor0 = Creator.getAppropriateConstructor(Integer.class);%0A        integerConstructor0.newInstance();%0A    %7D%0A%0A    @Test%0A    public void creation() throws ReflectiveOperationException %7B%0A        String stringVal0 = Creator.createInstance(String.class);%0A        assertEquals(%22%22, stringVal0);%0A%0A        String stringVal1 = Creator.createInstance(String.class, %22test%22);%0A        assertEquals(%22test%22, stringVal1);%0A%0A        int intVal0 = Creator.createInstance(Integer.class, %220%22);%0A        assertEquals(0, intVal0);%0A%0A        int intVal1 = Creator.createInstance(Integer.class, 23);%0A        assertEquals(23, intVal1);%0A    %7D%0A%0A    @Test(expected = ReflectiveOperationException.class)%0A    public void creationError() throws ReflectiveOperationException %7B%0A        int intVal0 = Creator.createInstance(Integer.class);%0A        intVal0++;%0A    %7D%0A%7D%0A

Add test for Creator class