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
This commit is contained in:
Gary D. Gregory 2004-02-11 20:08:49 +00:00
parent fa49e30a5e
commit 7c1dda3e75
2 changed files with 17 additions and 10 deletions

View File

@ -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;

View File

@ -64,7 +64,8 @@
* @author <a href="mailto:sdowney@panix.com">Steve Downey</a>
* @author <a href="mailto:scolebourne@joda.org">Stephen Colebourne</a>
* @author <a href="mailto:ggregory@seagullsw.com">Gary Gregory</a>
* @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,16 +419,26 @@ 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());