tdd-java-demo
tdd java demo with micro-commits
git clone https://9o.is/git/tdd-java-demo.git
commit a386721f53b218b7cc8b91b160305324d949756e parent fe833bd829a5b9859f93c393f5c4b3a5bb73dd37 Author: Jul <jul@9o.is> Date: Wed, 31 Mar 2021 16:52:50 +0800 introduce parameter object Basket Diffstat:
| A | src/main/java/takehome/Basket.java | | | 15 | +++++++++++++++ |
| M | src/main/java/takehome/Runner.java | | | 8 | ++++---- |
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/main/java/takehome/Basket.java b/src/main/java/takehome/Basket.java @@ -0,0 +1,15 @@ +package takehome; + +import java.util.Map; + +public class Basket { + private final Map<Item, Integer> amounts; + + public Basket(Map<Item, Integer> amounts) { + this.amounts = amounts; + } + + public Map<Item, Integer> getAmounts() { + return amounts; + } +} diff --git a/src/main/java/takehome/Runner.java b/src/main/java/takehome/Runner.java @@ -29,16 +29,16 @@ public class Runner { amounts.put(item, amount); } - double total = getTotal(amounts); + double total = getTotal(new Basket(amounts)); DecimalFormat df = new DecimalFormat("0.00"); out.println("Total: $" + df.format(total)); } - private double getTotal(Map<Item, Integer> amounts) { + private double getTotal(Basket basket) { double total = 0; - for (Item item : amounts.keySet()) { - int amount = amounts.get(item); + for (Item item : basket.getAmounts().keySet()) { + int amount = basket.getAmounts().get(item); total += item.getTotal(amount); } return total;