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 25918c08e Tests a custom collection and map with
EqualsBuilder.reflectionEquals
25918c08e is described below
commit 25918c08edf64b02eef7dd3734b91d770c8344aa
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Mar 7 14:03:18 2026 -0500
Tests a custom collection and map with EqualsBuilder.reflectionEquals
---
.../commons/lang3/builder/EqualsBuilderTest.java | 40 ++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git
a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
index 874aff3ab..9c5e3a354 100644
--- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
+++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java
@@ -27,7 +27,9 @@
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.commons.lang3.AbstractLangTest;
import org.apache.commons.lang3.reflect.MethodUtils;
@@ -69,6 +71,19 @@ public int hashCode() {
}
}
+ static class TestArrayList extends ArrayList<String> {
+
+ private static final long serialVersionUID = 1L;
+
+ private final int extra;
+
+ TestArrayList(final int extra, final String... elements) {
+ super(Arrays.asList(elements));
+ this.extra = extra;
+ }
+
+ }
+
public static class TestBCanEqualA {
private final int b;
@@ -106,6 +121,19 @@ static class TestEmptySubObject extends TestObject {
}
}
+ static class TestHashMap extends HashMap<String, String> {
+
+ private static final long serialVersionUID = 1L;
+
+ private final int extra;
+
+ TestHashMap(final int extra, final Map<String, String> map) {
+ super(map);
+ this.extra = extra;
+ }
+
+ }
+
static class TestObject {
private int a;
@@ -1381,6 +1409,18 @@ private void testReflectionHierarchyEquals(final boolean
testTransients) {
assertFalse(EqualsBuilder.reflectionEquals(tso1, this));
}
+ @Test
+ void testReflectionOnCustomArrayList() {
+ assertTrue(EqualsBuilder.reflectionEquals(new TestArrayList(1, "2",
"3", "4"), new TestArrayList(1, "2", "3", "4")));
+ assertFalse(EqualsBuilder.reflectionEquals(new TestArrayList(1, "2",
"3", "4"), new TestArrayList(2, "2", "3", "4")));
+ }
+
+ @Test
+ void testReflectionOnCustomHashMap() {
+ assertTrue(EqualsBuilder.reflectionEquals(new TestHashMap(1, new
HashMap<>()), new TestHashMap(1, new HashMap<>())));
+ assertFalse(EqualsBuilder.reflectionEquals(new TestHashMap(1, new
HashMap<>()), new TestHashMap(2, new HashMap<>())));
+ }
+
@Test
void testReset() {
final EqualsBuilder equalsBuilder = new EqualsBuilder();