Skip to content

Commit

Permalink
Fix an issue with new #1604 tests; was not exercising actual problem
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Oct 18, 2017
1 parent cab130e commit 536e58d
Showing 1 changed file with 14 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,52 +29,47 @@ static class SneakyTwoParam1604<V,K> extends TwoParam1604<K,List<V>> { }
public void testCustomTypesRefinedSimple()
{
TypeFactory tf = newTypeFactory();
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
assertEquals(Data1604.class, type.getRawClass());
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
assertEquals(Data1604.class, base.getRawClass());
assertEquals(1, base.containedTypeCount());
assertEquals(List.class, base.containedType(0).getRawClass());

JavaType subtype = tf.constructSpecializedType(type, DataList1604.class);
JavaType subtype = tf.constructSpecializedType(base, DataList1604.class);
assertEquals(DataList1604.class, subtype.getRawClass());
assertEquals(1, subtype.containedTypeCount());

// should properly resolve type parameter:
JavaType paramType = subtype.containedType(0);
assertEquals(Long.class, paramType.getRawClass());
}

public void testCustomTypesRefinedNested()
{
TypeFactory tf = newTypeFactory();
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
assertEquals(Data1604.class, type.getRawClass());
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
assertEquals(Data1604.class, base.getRawClass());

JavaType subtype = tf.constructSpecializedType(type, RefinedDataList1604.class);
JavaType subtype = tf.constructSpecializedType(base, RefinedDataList1604.class);
assertEquals(RefinedDataList1604.class, subtype.getRawClass());
assertEquals(1, subtype.containedTypeCount());
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());

// should properly resolve type parameter:
assertEquals(1, subtype.containedTypeCount());
JavaType paramType = subtype.containedType(0);
assertEquals(Long.class, paramType.getRawClass());

// and have correct parent too
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
}

public void testCustomTypesRefinedSneaky()
{
TypeFactory tf = newTypeFactory();
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
assertEquals(Data1604.class, type.getRawClass());
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
assertEquals(Data1604.class, base.getRawClass());

JavaType subtype = tf.constructSpecializedType(type, SneakyDataList1604.class);
JavaType subtype = tf.constructSpecializedType(base, SneakyDataList1604.class);
assertEquals(SneakyDataList1604.class, subtype.getRawClass());
assertEquals(1, subtype.containedTypeCount());

// should properly resolve type parameter:
JavaType paramType = subtype.containedType(0);
assertEquals(Long.class, paramType.getRawClass());

// and have correct parent too
assertEquals(Data1604.class, subtype.getSuperClass().getRawClass());
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
}

public void testTwoParamSneakyCustom()
Expand Down

0 comments on commit 536e58d

Please sign in to comment.