@Test
public void testGetReturnTypes () throws Exception{

    Class clazz = TypeClass.class;
    Type[] types = ReflectUtils.getReturnTypes(clazz.getMethod("getFuture"));
    Assertions.assertEquals("java.lang.String", types[0].getTypeName());
    Assertions.assertEquals("java.lang.String", types[1].getTypeName());
    Type[] types1 = ReflectUtils.getReturnTypes(clazz.getMethod("getString"));
    Assertions.assertEquals("java.lang.String", types1[0].getTypeName());
    Assertions.assertEquals("java.lang.String", types1[1].getTypeName());
    Type[] types2 = ReflectUtils.getReturnTypes(clazz.getMethod("getListFuture"));
    Assertions.assertEquals("java.util.List", types2[0].getTypeName());
    Assertions.assertEquals("java.util.List<java.lang.String>", types2[1].getTypeName());
}