diff --git a/java-numbers-4/src/test/java/com/baeldung/bigdecimalzero/BigDecimalZeroChkUnitTest.java b/java-numbers-4/src/test/java/com/baeldung/bigdecimalzero/BigDecimalZeroChkUnitTest.java new file mode 100644 index 0000000000..a61bfe1dd7 --- /dev/null +++ b/java-numbers-4/src/test/java/com/baeldung/bigdecimalzero/BigDecimalZeroChkUnitTest.java @@ -0,0 +1,34 @@ +package com.baeldung.bigdecimalzero; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.math.BigDecimal; + +import org.junit.jupiter.api.Test; + +class BigDecimalZeroChkUnitTest { + private static final BigDecimal BD1 = new BigDecimal("0"); + private static final BigDecimal BD2 = new BigDecimal("0.0000"); + + @Test + void givenBD_whenCheckedWithEquals_shouldCheckedAsZero() { + assertThat(BigDecimal.ZERO.equals(BD1)).isTrue(); + + // in the article, we show the failure of the assertion below + // assertThat(BigDecimal.ZERO.equals(BD2)).isTrue(); + + assertThat(BigDecimal.ZERO.equals(BD2)).isFalse(); + } + + @Test + void givenBD_whenCheckedWithCompareTo_shouldCheckedAsZero() { + assertThat(BigDecimal.ZERO.compareTo(BD1)).isSameAs(0); + assertThat(BigDecimal.ZERO.compareTo(BD2)).isSameAs(0); + } + + @Test + void givenBD_whenCheckedWithSignum_shouldCheckedAsZero() { + assertThat(BD1.signum()).isSameAs(0); + assertThat(BD2.signum()).isSameAs(0); + } +}