Skip to content

Commit 536e58d

Browse files
committed
Fix an issue with new #1604 tests; was not exercising actual problem
1 parent cab130e commit 536e58d

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

src/test/java/com/fasterxml/jackson/failing/TestTypeFactory1604.java

+14-19
Original file line numberDiff line numberDiff line change
@@ -29,52 +29,47 @@ static class SneakyTwoParam1604<V,K> extends TwoParam1604<K,List<V>> { }
2929
public void testCustomTypesRefinedSimple()
3030
{
3131
TypeFactory tf = newTypeFactory();
32-
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
33-
assertEquals(Data1604.class, type.getRawClass());
32+
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
33+
assertEquals(Data1604.class, base.getRawClass());
34+
assertEquals(1, base.containedTypeCount());
35+
assertEquals(List.class, base.containedType(0).getRawClass());
3436

35-
JavaType subtype = tf.constructSpecializedType(type, DataList1604.class);
37+
JavaType subtype = tf.constructSpecializedType(base, DataList1604.class);
3638
assertEquals(DataList1604.class, subtype.getRawClass());
3739
assertEquals(1, subtype.containedTypeCount());
38-
39-
// should properly resolve type parameter:
4040
JavaType paramType = subtype.containedType(0);
4141
assertEquals(Long.class, paramType.getRawClass());
4242
}
4343

4444
public void testCustomTypesRefinedNested()
4545
{
4646
TypeFactory tf = newTypeFactory();
47-
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
48-
assertEquals(Data1604.class, type.getRawClass());
47+
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
48+
assertEquals(Data1604.class, base.getRawClass());
4949

50-
JavaType subtype = tf.constructSpecializedType(type, RefinedDataList1604.class);
50+
JavaType subtype = tf.constructSpecializedType(base, RefinedDataList1604.class);
5151
assertEquals(RefinedDataList1604.class, subtype.getRawClass());
52-
assertEquals(1, subtype.containedTypeCount());
52+
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
5353

54-
// should properly resolve type parameter:
54+
assertEquals(1, subtype.containedTypeCount());
5555
JavaType paramType = subtype.containedType(0);
5656
assertEquals(Long.class, paramType.getRawClass());
57-
58-
// and have correct parent too
59-
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
6057
}
6158

6259
public void testCustomTypesRefinedSneaky()
6360
{
6461
TypeFactory tf = newTypeFactory();
65-
JavaType type = tf.constructType(new TypeReference<Data1604<Long>>() { });
66-
assertEquals(Data1604.class, type.getRawClass());
62+
JavaType base = tf.constructType(new TypeReference<Data1604<List<Long>>>() { });
63+
assertEquals(Data1604.class, base.getRawClass());
6764

68-
JavaType subtype = tf.constructSpecializedType(type, SneakyDataList1604.class);
65+
JavaType subtype = tf.constructSpecializedType(base, SneakyDataList1604.class);
6966
assertEquals(SneakyDataList1604.class, subtype.getRawClass());
7067
assertEquals(1, subtype.containedTypeCount());
71-
72-
// should properly resolve type parameter:
7368
JavaType paramType = subtype.containedType(0);
7469
assertEquals(Long.class, paramType.getRawClass());
7570

7671
// and have correct parent too
77-
assertEquals(Data1604.class, subtype.getSuperClass().getRawClass());
72+
assertEquals(DataList1604.class, subtype.getSuperClass().getRawClass());
7873
}
7974

8075
public void testTwoParamSneakyCustom()

0 commit comments

Comments
 (0)