1818import org .junit .jupiter .api .Test ;
1919
2020import java .lang .reflect .ParameterizedType ;
21- import java .lang .reflect .Type ;
2221import java .math .BigInteger ;
2322import java .net .URI ;
2423import java .nio .file .Path ;
3029import java .time .LocalDateTime ;
3130import java .time .LocalTime ;
3231import java .time .Period ;
33- import java .util .Arrays ;
3432import java .util .Date ;
3533import java .util .HashMap ;
3634import java .util .List ;
@@ -272,7 +270,7 @@ public void testPathCoercion() {
272270 public void testListCoercion () {
273271 assertInstanceOf (List .class , BeanAdapter .coerce (listOf (), List .class ));
274272
275- assertInstanceOf (List .class , BeanAdapter .coerceGeneric (listOf (), parameterizedTypeOf (List .class )));
273+ assertInstanceOf (List .class , BeanAdapter .coerceGeneric (listOf (), BeanAdapter . genericTypeOf (List . class , Object .class )));
276274
277275 assertThrows (IllegalArgumentException .class , () -> BeanAdapter .coerce (0 , List .class ));
278276 }
@@ -281,9 +279,9 @@ public void testListCoercion() {
281279 public void testMapCoercion () {
282280 assertInstanceOf (Map .class , BeanAdapter .coerce (mapOf (), Map .class ));
283281
284- assertInstanceOf (Map .class , BeanAdapter .coerceGeneric (mapOf (), parameterizedTypeOf (Map .class )));
285- assertInstanceOf (SequencedMap .class , BeanAdapter .coerceGeneric (mapOf (), parameterizedTypeOf (SequencedMap .class )));
286- assertInstanceOf (SortedMap .class , BeanAdapter .coerceGeneric (mapOf (), parameterizedTypeOf (SortedMap .class )));
282+ assertInstanceOf (Map .class , BeanAdapter .coerceGeneric (mapOf (), BeanAdapter . genericTypeOf (Map . class , Object . class , Object .class )));
283+ assertInstanceOf (SequencedMap .class , BeanAdapter .coerceGeneric (mapOf (), BeanAdapter . genericTypeOf (SequencedMap . class , Object . class , Object .class )));
284+ assertInstanceOf (SortedMap .class , BeanAdapter .coerceGeneric (mapOf (), BeanAdapter . genericTypeOf (SortedMap . class , Object . class , Object .class )));
287285
288286 assertThrows (IllegalArgumentException .class , () -> BeanAdapter .coerce (0 , Map .class ));
289287 }
@@ -292,9 +290,9 @@ public void testMapCoercion() {
292290 public void testSetCoercion () {
293291 assertInstanceOf (Set .class , BeanAdapter .coerce (setOf (), Set .class ));
294292
295- assertInstanceOf (Set .class , BeanAdapter .coerceGeneric (setOf (), parameterizedTypeOf (Set .class )));
296- assertInstanceOf (SequencedSet .class , BeanAdapter .coerceGeneric (setOf (), parameterizedTypeOf (SequencedSet .class )));
297- assertInstanceOf (SortedSet .class , BeanAdapter .coerceGeneric (setOf (), parameterizedTypeOf (SortedSet .class )));
293+ assertInstanceOf (Set .class , BeanAdapter .coerceGeneric (setOf (), BeanAdapter . genericTypeOf (Set . class , Object .class )));
294+ assertInstanceOf (SequencedSet .class , BeanAdapter .coerceGeneric (setOf (), BeanAdapter . genericTypeOf (SequencedSet . class , Object .class )));
295+ assertInstanceOf (SortedSet .class , BeanAdapter .coerceGeneric (setOf (), BeanAdapter . genericTypeOf (SortedSet . class , Object .class )));
298296
299297 assertThrows (IllegalArgumentException .class , () -> BeanAdapter .coerce (0 , Set .class ));
300298 }
@@ -505,27 +503,4 @@ public void testToType() {
505503
506504 assertEquals (listOf (1 , 2 , 3 ), integers );
507505 }
508-
509- private static Type parameterizedTypeOf (Class <?> rawType ) {
510- return new ParameterizedType () {
511- @ Override
512- public Type [] getActualTypeArguments () {
513- var actualTypeArguments = new Type [rawType .getTypeParameters ().length ];
514-
515- Arrays .fill (actualTypeArguments , Object .class );
516-
517- return actualTypeArguments ;
518- }
519-
520- @ Override
521- public Type getRawType () {
522- return rawType ;
523- }
524-
525- @ Override
526- public Type getOwnerType () {
527- return null ;
528- }
529- };
530- }
531506}
0 commit comments