tdd-java-demo
tdd java demo with micro-commits
git clone https://9o.is/git/tdd-java-demo.git
commit 23e40fe41ed2cf7b27120a6fda9303b225250b60 parent 821f085b6adaaa9d6fdd519d73e0bb896c50b488 Author: Jul <jul@9o.is> Date: Wed, 31 Mar 2021 18:44:12 +0800 apply penny discount per apple Diffstat:
| M | src/main/java/takehome/Discount.java | | | 7 | +------ |
| M | src/test/java/takehome/DiscountTest.java | | | 6 | ++++++ |
| M | src/test/java/takehome/RunnerTest.java | | | 4 | ++-- |
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/main/java/takehome/Discount.java b/src/main/java/takehome/Discount.java @@ -18,11 +18,6 @@ public class Discount { } double getDiscount(Basket basket) { - double total = 0; - double amountOfItems = basket.getAmount(item); - if (amountOfItems > 0) { - total = amount; - } - return total; + return amount * basket.getAmount(item); } } diff --git a/src/test/java/takehome/DiscountTest.java b/src/test/java/takehome/DiscountTest.java @@ -35,6 +35,12 @@ class DiscountTest { assertThat(DISCOUNT.getDiscount(basket), is(0.01)); } + @Test + void multipleDiscounts() { + Basket basket = createBasket(2); + assertThat(DISCOUNT.getDiscount(basket), is(0.02)); + } + private Basket createBasket(int amount) { Map<Item, Integer> amounts = new HashMap<>(); amounts.put(APPLE, amount); diff --git a/src/test/java/takehome/RunnerTest.java b/src/test/java/takehome/RunnerTest.java @@ -14,12 +14,12 @@ class RunnerTest { @Test public void example() { - assertThat(output("1\r1\r1\r1"), contains( + assertThat(output("1\r1\r1\r2"), contains( "How much soup? ", "How much bread? ", "How much milk? ", "How much apple? ", - "Total: $2.84" + "Total: $2.93" )); }