public G getType(String name) { return type(name); }
@Test public void wildcardTypeTest() { Fields<FieldInfo> fields = new Fields<FieldInfo>(WildcardTypeTestPojo.class); Assert.assertEquals(2,fields.size()); FieldInfo fieldInfo; fieldInfo = fields.get("superNumbers"); Assert.assertEquals(List.class, fieldInfo.generic.clazz); Assert.assertEquals(1, fieldInfo.generic.typesCount()); Assert.assertEquals(Number.class, fieldInfo.generic.type(0).clazz); Assert.assertEquals(0, fieldInfo.generic.type(0).typesCount()); fieldInfo = fields.get("extendsNumbers"); Assert.assertEquals(List.class, fieldInfo.generic.clazz); Assert.assertEquals(1, fieldInfo.generic.typesCount()); Assert.assertEquals(Number.class, fieldInfo.generic.type(0).clazz); Assert.assertEquals(0, fieldInfo.generic.type(0).typesCount()); } }
@Override public JsonGeneric type(int i) { return super.type(i); }
@Test public void interfacesTest() { Generic generic = new Generic(String.class); Assert.assertEquals(String.class, generic.clazz); Assert.assertEquals(3, generic.interfaces.length); for (int i = 0; i < generic.interfaces.length; i++) { Generic g = generic.interfaces[i]; if (g.clazz == Serializable.class) continue; if (g.clazz == CharSequence.class) continue; if (g.clazz == Comparable.class) { Assert.assertEquals(1, g.typesCount()); Generic type = g.type(0); Assert.assertEquals(String.class, type.clazz); Assert.assertSame(generic.interfaces, type.interfaces); continue; } Assert.assertTrue(false); } }
public G getType(int i) { return type(i); }
public G getType(int i) { return type(i); }
public G getType(String name) { return type(name); }
static Object createArray(Generic generic, int size) { return createArrayByComponentType(generic.type(0).clazz, size); }
@Test public void interfacesTest_2() { Generic generic = new Generic(ChildInterface.class); Assert.assertEquals(ChildInterface.class, generic.clazz); Assert.assertEquals(1, generic.interfaces.length); Generic parent = generic.interfaces[0]; Assert.assertEquals(ParentInterface.class, parent.clazz); Assert.assertEquals(String.class, parent.type(0).clazz); Assert.assertEquals(1, parent.interfaces.length); Generic supr = parent.interfaces[0]; Assert.assertEquals(SuperInterface.class, supr.clazz); Assert.assertEquals(String.class, supr.type(0).clazz); }