This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git


The following commit(s) were added to refs/heads/master by this push:
     new 934e6d85e Test JRE edge cases for Arrays versus ArrayUtils.hashCode()
934e6d85e is described below

commit 934e6d85e62af738be6adcdb6abdd0f243445633
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Jan 24 07:42:37 2026 -0500

    Test JRE edge cases for Arrays versus ArrayUtils.hashCode()
---
 .../org/apache/commons/lang3/ArrayUtilsTest.java     | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java 
b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
index f0d1a59fa..1bf5f517d 100644
--- a/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
+++ b/src/test/java/org/apache/commons/lang3/ArrayUtilsTest.java
@@ -41,6 +41,7 @@
 import java.util.Comparator;
 import java.util.Date;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Random;
 import java.util.function.Function;
 import java.util.function.Supplier;
@@ -551,23 +552,30 @@ void testHashCode() {
         assertEquals(0, Arrays.hashCode((long[]) null));
         assertEquals(1, Arrays.hashCode(ArrayUtils.EMPTY_OBJECT_ARRAY));
         assertEquals(1, 
Arrays.hashCode(ArrayUtils.EMPTY_BOOLEAN_OBJECT_ARRAY));
+        assertEquals(0, Objects.hash((Object[]) null));
+        assertEquals(1, Objects.hash(ArrayUtils.EMPTY_OBJECT_ARRAY));
         // Our edge cases:
         // assertEquals(0, ArrayUtils.hashCode(null));
         // assertEquals(1, ArrayUtils.hashCode(ArrayUtils.EMPTY_OBJECT_ARRAY));
         // assertEquals(1, 
ArrayUtils.hashCode(ArrayUtils.EMPTY_BOOLEAN_OBJECT_ARRAY));
         // General cases:
-        final long[][] array1 = {{2, 5}, {4, 5}};
-        final long[][] array2 = {{2, 5}, {4, 6}};
+        final long[][] array1 = { { 2, 5 }, { 4, 5 } };
+        final long[][] array2 = { { 2, 5 }, { 4, 6 } };
         assertEquals(ArrayUtils.hashCode(array1), ArrayUtils.hashCode(array1));
         assertNotEquals(ArrayUtils.hashCode(array1), 
ArrayUtils.hashCode(array2));
         // Objects
-        final Object[] array3 = {new String(new char[]{'A', 'B'})};
-        final Object[] array4 = {"AB"};
+        final Object[] array3 = { new String(new char[] { 'A', 'B' }) };
+        final Object[] array4 = { "AB" };
         assertEquals(ArrayUtils.hashCode(array3), ArrayUtils.hashCode(array3));
         assertEquals(ArrayUtils.hashCode(array3), ArrayUtils.hashCode(array4));
         // Primitives to Objects
-        final Object[] arrayA = {new boolean[]{true, false}, new int[]{6, 7}};
-        final Object[] arrayB = {new boolean[]{true, false}, new int[]{6, 7}};
+        final Object[] arrayA = { new boolean[] { true, false }, new int[] { 
6, 7 } };
+        final Object[] arrayB = { new boolean[] { true, false }, new int[] { 
6, 7 } };
+        // assertEquals(Arrays.hashCode(new Integer[] { 1 }), 
ArrayUtils.hashCode(new Integer[] { 1 }));
+        // assertEquals(Arrays.hashCode(arrayA), ArrayUtils.hashCode(arrayA));
+        // assertEquals(Arrays.hashCode(arrayB), ArrayUtils.hashCode(arrayB));
+        assertEquals(ArrayUtils.hashCode(arrayA), ArrayUtils.hashCode(arrayA));
+        assertEquals(ArrayUtils.hashCode(arrayA), ArrayUtils.hashCode(arrayB));
         assertEquals(ArrayUtils.hashCode(arrayB), ArrayUtils.hashCode(arrayA));
     }
 

Reply via email to