You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2013/03/14 02:35:37 UTC

svn commit: r1456305 - /commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java

Author: ggregory
Date: Thu Mar 14 01:35:37 2013
New Revision: 1456305

URL: http://svn.apache.org/r1456305
Log:
[LANG-873] Add FieldUtils getAllFields() to return all the fields defined in the given class and super classes. Alternate impl that splits into two APIs, one with an array result, the other with a List.

Modified:
    commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java

Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java?rev=1456305&r1=1456304&r2=1456305&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/FieldUtilsTest.java Thu Mar 14 01:35:37 2013
@@ -28,6 +28,9 @@ import static org.junit.Assume.assumeNot
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.reflect.testbed.Ambig;
@@ -145,6 +148,26 @@ public class FieldUtilsTest {
         assertEquals(5, FieldUtils.getAllFields(PublicChild.class).length);
     }
 
+    private <T> List<T> asArrayList(T... values) {
+        final ArrayList<T> arrayList = new ArrayList<T>();
+        for (T t : values) {
+            arrayList.add(t);
+        }
+        return arrayList;
+    }
+
+    @Test
+    public void testGetAllFieldsList() {
+        assertEquals(0, FieldUtils.getAllFieldsList(Object.class).size());
+        final List<Field> fieldsNumber = asArrayList(Number.class.getDeclaredFields());
+        assertEquals(fieldsNumber, FieldUtils.getAllFieldsList(Number.class));
+        final List<Field> fieldsInteger = asArrayList(Integer.class.getDeclaredFields());
+        final List<Field> allFieldsInteger = new ArrayList<Field>(fieldsInteger);
+        allFieldsInteger.addAll(fieldsNumber);
+        assertEquals(allFieldsInteger, FieldUtils.getAllFieldsList(Integer.class));
+        assertEquals(5, FieldUtils.getAllFieldsList(PublicChild.class).size());
+    }
+
     @Test
     public void testGetDeclaredField() {
         assertNull(FieldUtils.getDeclaredField(PublicChild.class, "VALUE"));