refactor(workshop): remove redundant VAT rounding method
roundVatAmount duplicated default rounding logic and did not demonstrate a distinct rounding use case.
This commit is contained in:
parent
21d835b9ca
commit
e7e8662414
2 changed files with 4 additions and 26 deletions
|
|
@ -24,18 +24,6 @@ public class RoundingStrategyExercises {
|
||||||
throw new UnsupportedOperationException("TODO");
|
throw new UnsupportedOperationException("TODO");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>Apply explicit default rounding to a VAT amount.</p>
|
|
||||||
*
|
|
||||||
* <p>Use rounding as a separate, explicit step.</p>
|
|
||||||
*
|
|
||||||
* @param taxAmount tax amount to round
|
|
||||||
* @return rounded tax amount
|
|
||||||
*/
|
|
||||||
public MonetaryAmount roundVatAmount(MonetaryAmount taxAmount) {
|
|
||||||
throw new UnsupportedOperationException("TODO");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Apply Swiss cash rounding to the nearest 0.05 for CHF amounts.</p>
|
* <p>Apply Swiss cash rounding to the nearest 0.05 for CHF amounts.</p>
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
package swiss.fihlon.workshop.money.part2;
|
package swiss.fihlon.workshop.money.part2;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import javax.money.MonetaryAmount;
|
|
||||||
import javax.money.MonetaryOperator;
|
|
||||||
import org.javamoney.moneta.Money;
|
import org.javamoney.moneta.Money;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import javax.money.MonetaryAmount;
|
||||||
|
import javax.money.MonetaryOperator;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
class RoundingStrategyExercisesTest {
|
class RoundingStrategyExercisesTest {
|
||||||
|
|
@ -23,17 +24,6 @@ class RoundingStrategyExercisesTest {
|
||||||
assertThat(result.getNumber().numberValueExact(BigDecimal.class)).isEqualByComparingTo("10.02");
|
assertThat(result.getNumber().numberValueExact(BigDecimal.class)).isEqualByComparingTo("10.02");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
void shouldRoundVatAmount() {
|
|
||||||
MonetaryAmount taxAmount = Money.of(1.537, "CHF");
|
|
||||||
|
|
||||||
MonetaryAmount result = exercises.roundVatAmount(taxAmount);
|
|
||||||
|
|
||||||
assertThat(result).isNotNull();
|
|
||||||
assertThat(result.getCurrency().getCurrencyCode()).isEqualTo("CHF");
|
|
||||||
assertThat(result.getNumber().numberValueExact(BigDecimal.class)).isEqualByComparingTo("1.54");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldApplySwissCashRounding() {
|
void shouldApplySwissCashRounding() {
|
||||||
MonetaryAmount firstAmount = Money.of(10.02, "CHF");
|
MonetaryAmount firstAmount = Money.of(10.02, "CHF");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue