Added better expressions

This commit is contained in:
Lukasz Baldyga committed 2020-11-29 09:49:13 +00:00
1 parent 7035a3e06e
commit 7f16f31967
1 file changed
+30
@@ -25,6 +25,36 @@ namespace Advanced_Software_Engineering.Verbs.Value {
if (operation > 3 && operation < 0) throw new Exception("Bad operation"); if (operation > 3 && operation < 0) throw new Exception("Bad operation");
} }
public ExpressionValue(Drawer drawer, IValue variable1, IValue variable2, string operation) {
switch(operation) {
case "+":
this.operation = ADD;
break;
case "-":
this.operation = SUBTRACT;
break;
case "*":
this.operation = MULTIPLY;
break;
case "/":
this.operation = DIVIDE;
break;
default:
throw new Exception("Undefined operation");
}
this.variable1 = variable1;
this.variable2 = variable2;
//Check for bad input
if (this.operation > 3 && this.operation < 0) throw new Exception("Bad operation");
}
private IValue Evaluate() { private IValue Evaluate() {
if (evaluated) return evaluatedValue; if (evaluated) return evaluatedValue;