tdd-java-demo

tdd java demo with micro-commits

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

commit 79b90c4da8f04eb47ee139c018d57aef072c44a2
parent 03341fecf7140aa6b09a37ed4264b5614ad79f8b
Author: Jul <jul@9o.is>
Date:   Thu,  1 Apr 2021 00:39:41 +0800

validate discount on start date

Diffstat:
Msrc/main/java/takehome/Discount.java | 10++++++----
Msrc/test/java/takehome/DiscountTest.java | 6++++++
2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/main/java/takehome/Discount.java b/src/main/java/takehome/Discount.java @@ -10,14 +10,16 @@ import java.util.Arrays; public class Discount { private final Multiset<Item> items; private final double amount; + private final LocalDate startDate; public Discount(double amount, Item ...items) { - this.amount = amount; - this.items = HashMultiset.create(Arrays.asList(items)); + this(amount, LocalDate.MIN, LocalDate.MAX, items); } public Discount(double amount, LocalDate startDate, LocalDate endDate, Item... items) { - this(amount, items); + this.amount = amount; + this.startDate = startDate; + this.items = HashMultiset.create(Arrays.asList(items)); } public double getAmount() { @@ -41,6 +43,6 @@ public class Discount { } public boolean isValid(LocalDate date) { - return false; + return startDate.equals(date); } } diff --git a/src/test/java/takehome/DiscountTest.java b/src/test/java/takehome/DiscountTest.java @@ -75,6 +75,12 @@ class DiscountTest { assertThat(discount.isValid(YESTERDAY), is(false)); } + @Test + void isValidOnStartDate() { + Discount discount = discountByDate(TODAY, TOMORROW); + assertThat(discount.isValid(TODAY), is(true)); + } + private Discount discountByDate(LocalDate startDate, LocalDate endDate) { return new Discount(0.01, startDate, endDate, APPLE); }