From 7c1dda3e750c3cbf4d27036cfc484d19536a06fe Mon Sep 17 00:00:00 2001 From: "Gary D. Gregory" Date: Wed, 11 Feb 2004 20:08:49 +0000 Subject: [PATCH] PR: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23174 Submitted by: Maarten Coene, Arun Mammen Thomas Reviewed by: Gary Gregory git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@137774 13f79535-47bb-0310-9956-ffa450edef68 --- .../commons/lang/builder/EqualsBuilder.java | 8 ++------ .../lang/builder/EqualsBuilderTest.java | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/java/org/apache/commons/lang/builder/EqualsBuilder.java b/src/java/org/apache/commons/lang/builder/EqualsBuilder.java index 6edd99d80..33071a041 100644 --- a/src/java/org/apache/commons/lang/builder/EqualsBuilder.java +++ b/src/java/org/apache/commons/lang/builder/EqualsBuilder.java @@ -110,8 +110,9 @@ * @author Stephen Colebourne * @author Gary Gregory * @author Pete Gieser + * @author Arun Mammen Thomas * @since 1.0 - * @version $Id: EqualsBuilder.java,v 1.22 2003/12/26 22:04:49 ggregory Exp $ + * @version $Id: EqualsBuilder.java,v 1.23 2004/02/11 20:08:49 ggregory Exp $ */ public class EqualsBuilder { /** @@ -510,11 +511,6 @@ public EqualsBuilder append(Object[] lhs, Object[] rhs) { return this; } for (int i = 0; i < lhs.length && isEquals; ++i) { - Class lhsClass = lhs[i].getClass(); - if (!lhsClass.isInstance(rhs[i])) { - isEquals = false; //If the types don't match, not equal - break; - } append(lhs[i], rhs[i]); } return this; diff --git a/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java b/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java index 635915732..be4f15871 100644 --- a/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java +++ b/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java @@ -64,7 +64,8 @@ * @author Steve Downey * @author Stephen Colebourne * @author Gary Gregory - * @version $Id: EqualsBuilderTest.java,v 1.7 2003/08/18 02:22:26 bayard Exp $ + * @author Maarten Coene + * @version $Id: EqualsBuilderTest.java,v 1.8 2004/02/11 20:08:49 ggregory Exp $ */ public class EqualsBuilderTest extends TestCase { @@ -418,17 +419,27 @@ public void testBoolean() { } public void testObjectArray() { - TestObject[] obj1 = new TestObject[2]; + TestObject[] obj1 = new TestObject[3]; obj1[0] = new TestObject(4); obj1[1] = new TestObject(5); - TestObject[] obj2 = new TestObject[2]; + obj1[2] = null; + TestObject[] obj2 = new TestObject[3]; obj2[0] = new TestObject(4); obj2[1] = new TestObject(5); + obj2[2] = null; + assertTrue(new EqualsBuilder().append(obj1, obj1).isEquals()); + assertTrue(new EqualsBuilder().append(obj2, obj2).isEquals()); assertTrue(new EqualsBuilder().append(obj1, obj2).isEquals()); obj1[1].setA(6); assertTrue(!new EqualsBuilder().append(obj1, obj2).isEquals()); - + obj1[1].setA(5); + assertTrue(new EqualsBuilder().append(obj1, obj2).isEquals()); + obj1[2] = obj1[1]; + assertTrue(!new EqualsBuilder().append(obj1, obj2).isEquals()); + obj1[2] = null; + assertTrue(new EqualsBuilder().append(obj1, obj2).isEquals()); + obj2 = null; assertTrue(!new EqualsBuilder().append(obj1, obj2).isEquals()); obj1 = null;