tdd-java-demo

tdd java demo with micro-commits

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

commit b2544d8e8e77d4ab006bff4093d5c466569df03c
parent fcaf8ce4967bb5299d68a74d06a37233a93436c7
Author: Jul <jul@9o.is>
Date:   Wed, 31 Mar 2021 19:21:12 +0800

change Discount internal data structure for items

Diffstat:
Msrc/main/java/takehome/Discount.java | 21+++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/main/java/takehome/Discount.java b/src/main/java/takehome/Discount.java @@ -1,16 +1,21 @@ package takehome; +import java.util.HashMap; +import java.util.Map; +import java.util.NoSuchElementException; + public class Discount { - private final Item item; + private final Map<Item, Integer> items; private final double amount; public Discount(double amount, Item item) { this.amount = amount; - this.item = item; + this.items = new HashMap<>(); + this.items.put(item, 1); } public Item getItem() { - return item; + return getSingleItem(); } public double getAmount() { @@ -18,6 +23,14 @@ public class Discount { } double getDiscount(Basket basket) { - return amount * basket.getAmount(item); + return amount * basket.getAmount(getSingleItem()); + } + + private Item getSingleItem() { + for (Item item : items.keySet()) { + return item; + } + + throw new NoSuchElementException("impossible"); } }