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 25dff141e Add EqualsBuilderTest.testBigDecimal() 25dff141e is described below commit 25dff141ee0f142bc17369d5eb5f7f43570e58cb Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Tue Nov 5 09:16:49 2024 -0500 Add EqualsBuilderTest.testBigDecimal() Add EqualsBuilderTest.testBigInteger() --- .../commons/lang3/builder/EqualsBuilderTest.java | 33 ++++++++++++++++++++++ 1 file changed, 33 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 69c591ffa..114c50485 100644 --- a/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/EqualsBuilderTest.java @@ -23,6 +23,8 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertTrue; import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.BigInteger; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -373,6 +375,37 @@ public class EqualsBuilderTest extends AbstractLangTest { assertFalse(equalsBuilder.isEquals()); } + @Test + public void testBigDecimal() { + testBigDecimalNotEq(BigDecimal.valueOf(1), BigDecimal.valueOf(2)); + testBigDecimalNotEq(BigDecimal.valueOf(1), BigDecimal.valueOf(1.0)); + testBigDecimalNotEq(BigDecimal.valueOf(1), BigDecimal.valueOf(1.00)); + // 2.0 is not equal to 2.00, see BigDecimal#equals() + testBigDecimalNotEq(BigDecimal.valueOf(20, 1), BigDecimal.valueOf(200, 2)); + } + + public void testBigDecimalNotEq(final BigDecimal o1, final BigDecimal o2) { + assertNotEquals(o1, o2); + assertTrue(new EqualsBuilder().append(o1, o1).isEquals()); + assertFalse(new EqualsBuilder().append(o1, o2).isEquals()); + assertFalse(new EqualsBuilder().append(o1, o2).append(o1, o1).isEquals()); + assertFalse(new EqualsBuilder().append(o1, Double.NaN).isEquals()); + assertTrue(new EqualsBuilder().append(Double.NaN, Double.NaN).isEquals()); + assertTrue(new EqualsBuilder().append(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY).isEquals()); + } + + @Test + public void testBigInteger() { + final BigInteger o1 = BigInteger.valueOf(1); + final BigInteger o2 = BigInteger.valueOf(2); + assertTrue(new EqualsBuilder().append(o1, o1).isEquals()); + assertFalse(new EqualsBuilder().append(o1, o2).isEquals()); + assertFalse(new EqualsBuilder().append(o1, o2).append(o1, o1).isEquals()); + assertFalse(new EqualsBuilder().append(o1, Double.NaN).isEquals()); + assertTrue(new EqualsBuilder().append(Double.NaN, Double.NaN).isEquals()); + assertTrue(new EqualsBuilder().append(Double.POSITIVE_INFINITY, Double.POSITIVE_INFINITY).isEquals()); + } + @Test public void testBoolean() { final boolean o1 = true;