tdd-java-demo

tdd java demo with micro-commits

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

commit e43e998d7384a88ea6dd111c06176feac99a39e1
parent 0c0ecd7d40b0ff7cdff9fb0c1a4b5030ef8be034
Author: Jul <jul@9o.is>
Date:   Wed, 31 Mar 2021 23:06:32 +0800

construct Discount with spread operator

Diffstat:
Msrc/main/java/takehome/Discount.java | 6++++++
Msrc/main/java/takehome/Runner.java | 9+--------
Msrc/test/java/takehome/BasketTest.java | 2+-
Msrc/test/java/takehome/DiscountTest.java | 5+----
4 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/src/main/java/takehome/Discount.java b/src/main/java/takehome/Discount.java @@ -4,6 +4,7 @@ import com.google.common.collect.HashMultiset; import com.google.common.collect.Multiset; import com.google.common.collect.Multisets; +import java.util.Arrays; import java.util.Map; public class Discount { @@ -21,6 +22,11 @@ public class Discount { this.items = toMultiset(items); } + public Discount(double amount, Item ...items) { + this.amount = amount; + this.items = HashMultiset.create(Arrays.asList(items)); + } + public double getAmount() { return amount; } diff --git a/src/main/java/takehome/Runner.java b/src/main/java/takehome/Runner.java @@ -27,7 +27,7 @@ public class Runner { Discount[] discounts = { new Discount(0.01, APPLE), - new Discount(0.40, soupBreadRequirement()) + new Discount(0.40, SOUP, SOUP, BREAD) }; Basket basket = new Basket(getItemAmounts(items)); @@ -37,13 +37,6 @@ public class Runner { out.println("Total: $" + df.format(total)); } - private Map<Item, Integer> soupBreadRequirement() { - Map<Item, Integer> soupBreadRequirement = new HashMap<>(); - soupBreadRequirement.put(SOUP, 2); - soupBreadRequirement.put(BREAD, 1); - return soupBreadRequirement; - } - private Map<Item, Integer> getItemAmounts(Item[] items) { Map<Item, Integer> amounts = new HashMap<>(); for (Item item : items) { diff --git a/src/test/java/takehome/BasketTest.java b/src/test/java/takehome/BasketTest.java @@ -34,7 +34,7 @@ class BasketTest { @Test public void getTotalWithDiscounts() { - Discount discount = new Discount(0.40, getItemAmounts()); + Discount discount = new Discount(0.40, SOUP, BREAD, BREAD); Discount[] discounts = { discount }; Basket basket = new Basket(getItemAmounts()); diff --git a/src/test/java/takehome/DiscountTest.java b/src/test/java/takehome/DiscountTest.java @@ -82,9 +82,6 @@ class DiscountTest { } private static Discount createSoupBreadDiscount() { - Map<Item, Integer> items = new HashMap<>(); - items.put(SOUP, 2); - items.put(BREAD, 1); - return new Discount(0.40, items); + return new Discount(0.40, SOUP, SOUP, BREAD); } } \ No newline at end of file