diff --git a/src/main/java/org/drtshock/Potato.java b/src/main/java/org/drtshock/Potato.java index 81e02f4..6fcd26f 100644 --- a/src/main/java/org/drtshock/Potato.java +++ b/src/main/java/org/drtshock/Potato.java @@ -100,6 +100,35 @@ public class Potato implements Tuber { return false; } } + + /** + * Checks if this potato is cooked. Returns the result of {@link #hasBeenBoiledInWater()}. + * + * @return true if this potato is baked, false if otherwise + */ + public boolean isCooked() { + try{ + return this.hasBeenBoiledInWater(); + } catch (PotatoBurntException e){ + return false; + } + } + + /** + * Checks if the potato is succesfully boiled at the right amount of degrees. + * + * @return true if the potato has succesfully been boiled, false if otherwise + * @throws PotatoBurntException if the potato has been burned during the process of cooking + */ + public boolean hasBeenBoiledInWater() throws PotatoBurntException{ + int waterDegrees = (int)(Math.random()*200); + if(waterDegrees<70){ + return false; + } else if(waterDegrees>130){ + throw new PotatoBurntException(waterDegrees); + } + return true; + } /** * Checks if this potato is delicious. Returns the result of {@link #isBaked()}. @@ -108,7 +137,7 @@ public class Potato implements Tuber { */ @Override public boolean isDelicious() { - return this.isBaked(); + return this.isBaked() || this.isBoiled(); } /** diff --git a/src/main/java/org/drtshock/PotatoBurntException.java b/src/main/java/org/drtshock/PotatoBurntException.java new file mode 100644 index 0000000..518aa21 --- /dev/null +++ b/src/main/java/org/drtshock/PotatoBurntException.java @@ -0,0 +1,12 @@ +package org.drtshock; + +/** + * An exception to describe that something went wrong with our oven! + */ +public class PotatoBurntException extends Exception { + + public PotatoBurntException(int degrees) { + super("Potato is badly burnt by trying to boil it at "+degrees+" degrees!!"); + } + +}