Add vegan potato

This commit is contained in:
spiral
2020-12-31 11:04:37 +00:00
parent 80538f81fa
commit be04791fea

View File

@@ -11,10 +11,12 @@ import java.util.List;
*/
public class Potato implements Tuber {
private final boolean isVegan;
private final List<Condiment> condiments = new ArrayList<>();
public static void main(String[] args) {
final Potato potato = new Potato();
final Potato potato = new Potato(args.length == 1 && args[0].equals("--vegan"));
if (potato.isVegan) System.out.println("This potato is vegan.");
try {
potato.prepare();
System.out.println("Of course Potato is prepared and delicious.");
@@ -23,6 +25,10 @@ public class Potato implements Tuber {
}
}
public Potato(boolean isVegan) {
this.isVegan = isVegan;
}
/**
* Gets the condiments on this potato.
*
@@ -39,8 +45,8 @@ public class Potato implements Tuber {
* @throws NotDeliciousException If the potato is not delicious
*/
public void prepare() throws NotDeliciousException {
this.addCondiments("sour cream", "chives", "butter", "crumbled bacon", "grated cheese", "ketchup", "pepper",
"salt", "tabasco", "tomatoes", "onion");
this.addCondiments("chives", "butter", "pepper", "salt", "tabasco", "tomatoes", "onion");
if (!this.isVegan) this.addCondiments("sour cream", "crumbled bacon", "grated cheese", "ketchup");
this.listCondiments();
if (!this.isDelicious()) throw new NotDeliciousException(NotDeliciousReason.UNDERCOOKED);
}
@@ -153,7 +159,7 @@ public class Potato implements Tuber {
*/
@Override
public Tuber propagate() {
return new Potato();
return new Potato(this.isVegan);
}
/**