Skip to content

Commit b7577cf

Browse files
committed
Add minimal test for array types with generics
See #415
1 parent afe795a commit b7577cf

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package org.scijava.util;
2+
3+
import static org.junit.Assert.assertEquals;
4+
5+
import java.lang.reflect.Field;
6+
import java.lang.reflect.Type;
7+
import java.util.List;
8+
9+
import org.junit.Test;
10+
11+
public class GenericTypesTest {
12+
13+
@Test
14+
public void testArrayFields() throws NoSuchFieldException, SecurityException {
15+
Field rawField = Types.field(ClassWithFields.class, "rawListArray");
16+
Field genericField = Types.field(ClassWithFields.class, "genericListArray");
17+
18+
Type rawFieldType = Types.fieldType(rawField, ClassWithFields.class);
19+
Type genericFieldType = Types.fieldType(genericField, ClassWithFields.class);
20+
21+
assertEquals(new List[0].getClass(), rawFieldType);
22+
assertEquals(new List<?>[0].getClass(), genericFieldType);
23+
24+
assertEquals(List[].class, Types.raw(rawFieldType));
25+
assertEquals(List[].class, Types.raw(genericFieldType));
26+
}
27+
28+
@SuppressWarnings({ "rawtypes", "unused" })
29+
private static class ClassWithFields {
30+
public List[] rawListArray;
31+
public List<?>[] genericListArray;
32+
}
33+
}

0 commit comments

Comments
 (0)