From 9adbbb0bbfe1d76549dd8b6704f183dacb1de29f Mon Sep 17 00:00:00 2001 From: Henri Yandell Date: Sat, 14 Nov 2009 10:10:19 +0000 Subject: [PATCH] Rolling back r611543 for LANG-393, and removing the special handling of BigDecimal to use compareTo instead of equals because it creates an inequality with HashCodeBuilder [reported in LANG-467 by David Jones] git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@836149 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/commons/lang/builder/EqualsBuilder.java | 8 ++------ .../apache/commons/lang/builder/EqualsBuilderTest.java | 8 -------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/src/java/org/apache/commons/lang/builder/EqualsBuilder.java b/src/java/org/apache/commons/lang/builder/EqualsBuilder.java index 78042fb40..3200306c0 100644 --- a/src/java/org/apache/commons/lang/builder/EqualsBuilder.java +++ b/src/java/org/apache/commons/lang/builder/EqualsBuilder.java @@ -377,12 +377,8 @@ public EqualsBuilder append(Object lhs, Object rhs) { } Class lhsClass = lhs.getClass(); if (!lhsClass.isArray()) { - if (lhs instanceof java.math.BigDecimal && rhs instanceof java.math.BigDecimal) { - isEquals = (((java.math.BigDecimal)lhs).compareTo((java.math.BigDecimal)rhs) == 0); - } else { - // The simple case, not an array, just test the element - isEquals = lhs.equals(rhs); - } + // The simple case, not an array, just test the element + isEquals = lhs.equals(rhs); } else if (lhs.getClass() != rhs.getClass()) { // Here when we compare different dimensions, for example: a boolean[][] to a boolean[] this.setEquals(false); diff --git a/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java b/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java index f28df6e43..4429af53b 100644 --- a/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java +++ b/src/test/org/apache/commons/lang/builder/EqualsBuilderTest.java @@ -384,14 +384,6 @@ public void testFloat() { assertTrue(new EqualsBuilder().append(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY).isEquals()); } - // https://issues.apache.org/jira/browse/LANG-393 - public void testBigDecimal() { - BigDecimal o1 = new BigDecimal("2.0"); - BigDecimal o2 = new BigDecimal("2.00"); - assertTrue(new EqualsBuilder().append(o1, o1).isEquals()); - assertTrue(new EqualsBuilder().append(o1, o2).isEquals()); - } - public void testAccessors() { EqualsBuilder equalsBuilder = new EqualsBuilder(); assertTrue(equalsBuilder.isEquals());