@Test
public void convertValueTest() {

    assertEquals("Test", convertValue(String.class.getCanonicalName(), "Test", classLoader));
    assertEquals(false, convertValue(boolean.class.getCanonicalName(), "false", classLoader));
    assertEquals(true, convertValue(Boolean.class.getCanonicalName(), "true", classLoader));
    assertEquals(1, convertValue(int.class.getCanonicalName(), "1", classLoader));
    assertEquals(1, convertValue(Integer.class.getCanonicalName(), "1", classLoader));
    assertEquals(1L, convertValue(long.class.getCanonicalName(), "1", classLoader));
    assertEquals(1L, convertValue(Long.class.getCanonicalName(), "1", classLoader));
    assertEquals(1.0d, convertValue(double.class.getCanonicalName(), "1", classLoader));
    assertEquals(1.0d, convertValue(Double.class.getCanonicalName(), "1", classLoader));
    assertEquals(1.0f, convertValue(float.class.getCanonicalName(), "1", classLoader));
    assertEquals(1.0f, convertValue(Float.class.getCanonicalName(), "1", classLoader));
    assertEquals(1.0d, convertValue(double.class.getCanonicalName(), "1.0", classLoader));
    assertEquals(1.0d, convertValue(Double.class.getCanonicalName(), "1.0", classLoader));
    assertEquals(1.0f, convertValue(float.class.getCanonicalName(), "1.0", classLoader));
    assertEquals(1.0f, convertValue(Float.class.getCanonicalName(), "1.0", classLoader));
    assertEquals(1.0d, convertValue(double.class.getCanonicalName(), "1.0d", classLoader));
    assertEquals(1.0d, convertValue(Double.class.getCanonicalName(), "1.0d", classLoader));
    assertEquals(1.0f, convertValue(float.class.getCanonicalName(), "1.0f", classLoader));
    assertEquals(1.0f, convertValue(Float.class.getCanonicalName(), "1.0f", classLoader));
    assertEquals(1.0d, convertValue(double.class.getCanonicalName(), "1.0D", classLoader));
    assertEquals(1.0d, convertValue(Double.class.getCanonicalName(), "1.0D", classLoader));
    assertEquals(1.0f, convertValue(float.class.getCanonicalName(), "1.0F", classLoader));
    assertEquals(1.0f, convertValue(Float.class.getCanonicalName(), "1.0F", classLoader));
    assertEquals('a', convertValue(char.class.getCanonicalName(), "a", classLoader));
    assertEquals('a', convertValue(Character.class.getCanonicalName(), "a", classLoader));
    assertEquals((short) 1, convertValue(short.class.getCanonicalName(), "1", classLoader));
    assertEquals((short) 1, convertValue(Short.class.getCanonicalName(), "1", classLoader));
    assertEquals("0".getBytes()[0], convertValue(byte.class.getCanonicalName(), Byte.toString("0".getBytes()[0]), classLoader));
    assertEquals("0".getBytes()[0], convertValue(Byte.class.getCanonicalName(), Byte.toString("0".getBytes()[0]), classLoader));
    assertEquals(LocalDate.of(2018, 5, 20), convertValue(LocalDate.class.getCanonicalName(), "2018-05-20", classLoader));
    assertEquals(EnumTest.FIRST, convertValue(EnumTest.class.getCanonicalName(), "FIRST", classLoader));
    assertNull(convertValue(Float.class.getCanonicalName(), null, classLoader));
}