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;

Reply via email to