tdd-java-demo

tdd java demo with micro-commits

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

commit f5e69179aa7825a725954946bdf930e771bd9ff0
parent 434d5bbde69db8abb13ba30ede22e1e9f3f2ee30
Author: Jul <jul@9o.is>
Date:   Wed, 31 Mar 2021 18:08:16 +0800

introduce parameter object Discount

Diffstat:
Asrc/main/java/takehome/Discount.java | 19+++++++++++++++++++
Msrc/main/java/takehome/Runner.java | 12++++++------
2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/main/java/takehome/Discount.java b/src/main/java/takehome/Discount.java @@ -0,0 +1,19 @@ +package takehome; + +public class Discount { + private final Item item; + private final double amount; + + public Discount(double amount, Item item) { + this.amount = amount; + this.item = item; + } + + public Item getItem() { + return item; + } + + public double getAmount() { + return amount; + } +} diff --git a/src/main/java/takehome/Runner.java b/src/main/java/takehome/Runner.java @@ -30,19 +30,19 @@ public class Runner { Item item = items[3]; double amount = 0.01; - total -= getDiscount(basket, item, amount); + total -= getDiscount(basket, new Discount(amount, item)); DecimalFormat df = new DecimalFormat("0.00"); out.println("Total: $" + df.format(total)); } - private double getDiscount(Basket basket, Item item, double amount) { - double discount = 0; - double amountOfItems = basket.getAmounts().get(item); + private double getDiscount(Basket basket, Discount discount) { + double discountAmount = 0; + double amountOfItems = basket.getAmounts().get(discount.getItem()); if (amountOfItems > 0) { - discount = amount; + discountAmount = discount.getAmount(); } - return discount; + return discountAmount; } private Map<Item, Integer> getItemAmounts(Item[] items) {