This is an automated email from the ASF dual-hosted git repository. derjan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/empire-db.git
commit 0c9a689b934321c7d691f4bcbb4c1a6c0ede742b Author: Sascha <[email protected]> AuthorDate: Thu Sep 7 11:10:29 2023 +0200 Bugfix ObjectUtils isZero for decimal type --- .../main/java/org/apache/empire/commons/ObjectUtils.java | 2 +- .../java/org/apache/empire/commons/ObjectUtilsTest.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java index e59957f0..ff4a4f8b 100644 --- a/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java +++ b/empire-db/src/main/java/org/apache/empire/commons/ObjectUtils.java @@ -150,7 +150,7 @@ public final class ObjectUtils if (value instanceof Float) return (((Float) value).compareTo(0.0f)==0); if (value instanceof Double) - return (((Float) value).compareTo(0.0f)==0); + return (((Double) value).compareTo(0.0d)==0); if (value instanceof Long) return (value.longValue()==0l); // default: check int value diff --git a/empire-db/src/test/java/org/apache/empire/commons/ObjectUtilsTest.java b/empire-db/src/test/java/org/apache/empire/commons/ObjectUtilsTest.java index 9b48375f..93b2d2bc 100644 --- a/empire-db/src/test/java/org/apache/empire/commons/ObjectUtilsTest.java +++ b/empire-db/src/test/java/org/apache/empire/commons/ObjectUtilsTest.java @@ -20,6 +20,7 @@ package org.apache.empire.commons; import static org.junit.Assert.*; +import java.math.BigDecimal; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -52,6 +53,21 @@ public class ObjectUtilsTest assertFalse(ObjectUtils.isEmpty(new Object())); } + @Test + public void testIsZero() + { + assertTrue(ObjectUtils.isZero(BigDecimal.ZERO)); + assertTrue(ObjectUtils.isZero(0f)); + assertTrue(ObjectUtils.isZero(Float.valueOf("0"))); + assertTrue(ObjectUtils.isZero(0d)); + assertTrue(ObjectUtils.isZero(0l)); + assertTrue(ObjectUtils.isZero(0)); + assertTrue(ObjectUtils.isZero(null)); + assertFalse(ObjectUtils.isZero(0.1d)); + assertFalse(ObjectUtils.isZero(444l)); + assertFalse(ObjectUtils.isZero(-0.01f)); + } + /** * Test method for * {@link org.apache.empire.commons.ObjectUtils#compareEqual(java.lang.Object, java.lang.Object)}
