tdd-java-demo

tdd java demo with micro-commits

git clone https://9o.is/git/tdd-java-demo.git

commit dd58a600a472ec15fcd8a3d687b0d13d250914fd
parent b01bd7de1ac4e1264c5061e1b0e047a59235068f
Author: Jul <jul@9o.is>
Date:   Wed, 31 Mar 2021 18:34:54 +0800

verify Discount functionality

Diffstat:
Asrc/test/java/takehome/DiscountTest.java | 44++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+), 0 deletions(-)

diff --git a/src/test/java/takehome/DiscountTest.java b/src/test/java/takehome/DiscountTest.java @@ -0,0 +1,43 @@ +package takehome; + +import org.junit.jupiter.api.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; + +class DiscountTest { + + public static final Item APPLE = new Item("apple", 0.10); + public static final Discount DISCOUNT = new Discount(0.01, APPLE); + + @Test + void getItem() { + assertThat(DISCOUNT.getItem(), is(APPLE)); + } + + @Test + void getAmount() { + assertThat(DISCOUNT.getAmount(), is(0.01)); + } + + @Test + void noDiscount() { + Basket basket = createBasket(0); + assertThat(DISCOUNT.getDiscount(basket), is(0d)); + } + + @Test + void oneDiscount() { + Basket basket = createBasket(1); + assertThat(DISCOUNT.getDiscount(basket), is(0.01)); + } + + private Basket createBasket(int amount) { + Map<Item, Integer> amounts = new HashMap<>(); + amounts.put(APPLE, amount); + return new Basket(amounts); + } +} +\ No newline at end of file