From 548e4000a048f051e2d4f3e43f7da3c4e73da6f5 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Tue, 23 Dec 2025 10:10:20 -0800 Subject: [PATCH] Add test to show #112 is working --- pom.xml | 2 +- .../classmate/MemberResolverTest.java | 1 - .../com/fasterxml/classmate/TestReadme.java | 1 - .../fasterxml/classmate/TestTypeResolver.java | 22 ++++++++++++++++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 0979769..0f8b75c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.fasterxml oss-parent - 69 + 74 classmate ClassMate diff --git a/src/test/java/com/fasterxml/classmate/MemberResolverTest.java b/src/test/java/com/fasterxml/classmate/MemberResolverTest.java index bd05ae6..00db56c 100644 --- a/src/test/java/com/fasterxml/classmate/MemberResolverTest.java +++ b/src/test/java/com/fasterxml/classmate/MemberResolverTest.java @@ -1,6 +1,5 @@ package com.fasterxml.classmate; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.*; diff --git a/src/test/java/com/fasterxml/classmate/TestReadme.java b/src/test/java/com/fasterxml/classmate/TestReadme.java index 01a4df5..55d113d 100644 --- a/src/test/java/com/fasterxml/classmate/TestReadme.java +++ b/src/test/java/com/fasterxml/classmate/TestReadme.java @@ -39,7 +39,6 @@ public static class SomeOtherClass { public void someMethod() { } } - @Test @SuppressWarnings("serial") public void resolvingClasses() { TypeResolver typeResolver = new TypeResolver(); ResolvedType listType = typeResolver.resolve(List.class); diff --git a/src/test/java/com/fasterxml/classmate/TestTypeResolver.java b/src/test/java/com/fasterxml/classmate/TestTypeResolver.java index 6f4d710..d06bc4f 100644 --- a/src/test/java/com/fasterxml/classmate/TestTypeResolver.java +++ b/src/test/java/com/fasterxml/classmate/TestTypeResolver.java @@ -498,7 +498,27 @@ public void testTypesMatch() throws IllegalAccessException, InvocationTargetExce assertFalse((Boolean) typesMatchMethod.invoke(typeResolver, matchAListResolved, matchBListResolved)); assertFalse((Boolean) typesMatchMethod.invoke(typeResolver, matchBListResolved, matchAListResolved)); } - + + public void testMultiDimensionalGenericArrays() throws Exception + { + ResolvedType resolvedType = typeResolver.resolve(new GenericType[][]>() { }); + assertEquals(List[][].class, resolvedType.getErasedType()); + assertEquals(Collections.emptyList(), resolvedType.getTypeParameters()); + assertTrue(resolvedType.isArray()); + ResolvedArrayType arrayType = (ResolvedArrayType) resolvedType; + ResolvedType inner1 = arrayType.getArrayElementType(); + assertEquals(List[].class, inner1.getErasedType()); + assertTrue(inner1.isArray()); + ResolvedArrayType arrayType2 = (ResolvedArrayType) inner1; + ResolvedType inner2 = arrayType2.getArrayElementType(); + assertEquals(List.class, inner2.getErasedType()); + List inner2TypeParams = inner2.getTypeParameters(); + assertEquals(1, inner2TypeParams.size()); + assertEquals(String.class, inner2TypeParams.get(0).getErasedType()); + + assertEquals("java.util.List[][]", resolvedType.toString()); + } + /* /********************************************************************** /* Helper methods