From c89a811ae723d23704215b8ce70cbcde599ead83 Mon Sep 17 00:00:00 2001 From: Dominik Demaj-Seitz <12406359+domids@users.noreply.github.com> Date: Fri, 27 Mar 2026 14:27:44 +0100 Subject: [PATCH] Fix `IVATItem.hasPercentage` returning false if the percentage to compare has a different scale --- .../main/java/com/helger/masterdata/vat/IVATItem.java | 2 +- .../test/java/com/helger/masterdata/vat/VATItemTest.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ph-masterdata/src/main/java/com/helger/masterdata/vat/IVATItem.java b/ph-masterdata/src/main/java/com/helger/masterdata/vat/IVATItem.java index 38d71d1f..2d84c24c 100644 --- a/ph-masterdata/src/main/java/com/helger/masterdata/vat/IVATItem.java +++ b/ph-masterdata/src/main/java/com/helger/masterdata/vat/IVATItem.java @@ -77,7 +77,7 @@ default boolean hasCountry () */ default boolean hasPercentage (@Nullable final BigDecimal aPercentage) { - return EqualsHelper.equals (getPercentage (), aPercentage); + return BigHelper.equalValues (getPercentage (), aPercentage); } /** diff --git a/ph-masterdata/src/test/java/com/helger/masterdata/vat/VATItemTest.java b/ph-masterdata/src/test/java/com/helger/masterdata/vat/VATItemTest.java index beb82a32..46b98826 100644 --- a/ph-masterdata/src/test/java/com/helger/masterdata/vat/VATItemTest.java +++ b/ph-masterdata/src/test/java/com/helger/masterdata/vat/VATItemTest.java @@ -18,6 +18,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import java.util.Locale; @@ -43,4 +44,12 @@ public void testFactors () assertNull (v.getPeriod ().getStart ()); assertNull (v.getPeriod ().getEnd ()); } + + @Test + public void testHasPercentage () + { + final VATItem v = VATItem.createTestItem (Locale.US, EVATItemType.REDUCED, BigHelper.toBigDecimal ("20")); + assertTrue (v.hasPercentage (BigHelper.toBigDecimal ("20"))); + assertTrue (v.hasPercentage (BigHelper.toBigDecimal ("20.0"))); + } }