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));
}