@@ -249,6 +249,9 @@ public void testAnchorTypeForRefTypes() throws Exception
249
249
JavaType t = tf .constructType (AtomicStringReference .class );
250
250
assertTrue (t .isReferenceType ());
251
251
assertTrue (t .hasContentType ());
252
+ JavaType ct = t .getContentType ();
253
+ assertEquals (String .class , ct .getRawClass ());
254
+ assertSame (ct , t .containedType (0 ));
252
255
ReferenceType rt = (ReferenceType ) t ;
253
256
assertFalse (rt .isAnchorType ());
254
257
assertEquals (AtomicReference .class , rt .getAnchorType ().getRawClass ());
@@ -265,4 +268,19 @@ public void testObjectToReferenceSpecialization() throws Exception
265
268
assertEquals (AtomicReference .class , sub .getRawClass ());
266
269
assertTrue (sub .isReferenceType ());
267
270
}
271
+
272
+ // for [databind#2091]
273
+ public void testConstructReferenceType () throws Exception
274
+ {
275
+ TypeFactory tf = TypeFactory .defaultInstance ();
276
+ // do AtomicReference<Long>
277
+ final JavaType refdType = tf .constructType (Long .class );
278
+ JavaType t = tf .constructReferenceType (AtomicReference .class , refdType );
279
+ assertTrue (t .isReferenceType ());
280
+ assertTrue (t .hasContentType ());
281
+ assertEquals (Long .class , t .getContentType ().getRawClass ());
282
+
283
+ // 26-Mar-2020, tatu: [databind#2019] suggest this should be 1...
284
+ // assertEquals(1, t.containedTypeCount());
285
+ }
268
286
}
0 commit comments