diff options
| author | Trophonix <502badgamer@gmail.com> | 2017-06-21 08:58:25 -0500 |
|---|---|---|
| committer | Trophonix <502badgamer@gmail.com> | 2017-06-21 08:58:25 -0500 |
| commit | 5b6db03bbdd8773ace496c296479616a14ad5b6a (patch) | |
| tree | 0c728193e4590b1ef06ef24ab81a7fedde52f3ed /src/main/java/org/drtshock | |
| parent | 03a616b83ec2b08ff80ca2409c582a33cb117688 (diff) | |
Add condiment expiry functionality
Diffstat (limited to 'src/main/java/org/drtshock')
| -rw-r--r-- | src/main/java/org/drtshock/NotDeliciousReason.java | 3 | ||||
| -rw-r--r-- | src/main/java/org/drtshock/Potato.java | 19 |
2 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/org/drtshock/NotDeliciousReason.java b/src/main/java/org/drtshock/NotDeliciousReason.java index 0687304..5b69139 100644 --- a/src/main/java/org/drtshock/NotDeliciousReason.java +++ b/src/main/java/org/drtshock/NotDeliciousReason.java @@ -6,6 +6,7 @@ package org.drtshock; public enum NotDeliciousReason { NOT_BAKED, - NOT_DELICIOUS_CONDIMENT + NOT_DELICIOUS_CONDIMENT, + EXPIRED_CONDIMENT } diff --git a/src/main/java/org/drtshock/Potato.java b/src/main/java/org/drtshock/Potato.java index fbe939e..e5b9ff3 100644 --- a/src/main/java/org/drtshock/Potato.java +++ b/src/main/java/org/drtshock/Potato.java @@ -5,6 +5,7 @@ import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ThreadLocalRandom; /** * A delicious tuber that is eaten by various peoples all over the world. @@ -54,6 +55,7 @@ public class Potato implements Tuber { for (String condimentName : names) { Condiment condiment = new Condiment(condimentName, true); if (!condiment.isDelicious()) throw new NotDeliciousException(NotDeliciousReason.NOT_DELICIOUS_CONDIMENT); + if (condiment.isExpired()) throw new NotDeliciousException(NotDeliciousReason.EXPIRED_CONDIMENT); this.getCondiments().add(condiment); } } @@ -158,10 +160,16 @@ public class Potato implements Tuber { private class Condiment { private final String name; private final boolean delicious; + private final boolean expired; - public Condiment(String name, boolean delicious) { + public Condiment(String name, boolean delicious, boolean expired) { this.name = name; this.delicious = delicious; + this.expired = expired; + } + + public Condiment(String name, boolean delicious) { + this(name, delicious, ThreadLocalRandom.current().nextInt(100) < 3); } /** @@ -174,6 +182,15 @@ public class Potato implements Tuber { } /** + * Returns if this condiment is expired or not. + * + * @return true if expired, false if otherwise + */ + public boolean isExpired() { + return expired; + } + + /** * Gets the name of this condiment. * * @return Name |
