Merge pull request #81 from TheRealSimJoo/master

Added the possibility to boil the potato if you have no oven
This commit is contained in:
Trent Hensler 2016-05-13 15:21:21 -07:00
commit 5e24e6b06c
2 changed files with 43 additions and 1 deletions

View file

@ -0,0 +1,12 @@
package org.drtshock;
/**
* An exception to describe that something went wrong with our oven!
*/
public class BurntException extends Exception {
public BurntException(int degrees) {
super("Potato is badly burnt by trying to boil it at " + degrees + " degrees!!");
}
}

View file

@ -101,6 +101,36 @@ public class Potato implements Tuber {
}
}
/**
* 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 (BurntException 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 BurntException if the potato has been burned during the process of cooking
*/
public boolean hasBeenBoiledInWater() throws BurntException {
int waterDegrees = (int) (Math.random() * 200);
System.out.println("Trying to boil potato at " + waterDegrees + " degrees.");
if (waterDegrees < 70) {
return false;
} else if (waterDegrees > 130) {
throw new BurntException(waterDegrees);
}
return true;
}
/**
* Checks if this potato is delicious. Returns the result of {@link #isBaked()}.
*
@ -108,7 +138,7 @@ public class Potato implements Tuber {
*/
@Override
public boolean isDelicious() {
return this.isBaked();
return this.isBaked() || this.isCooked();
}
/**