public void Evaluate_WithVariableReference_ReturnsValue() { const string variableName = "x"; const double variableValue = 1; VariableReference reference=new VariableReference(variableName,variableValue); Assert.AreEqual(1,reference.Evaluate()); }
public void ToString_WithVariableReference_ReturnsVariableName() { const string variableName = "x"; const double variableValue = 1; VariableReference reference=new VariableReference(variableName,variableValue); Assert.AreEqual("x",reference.ToString()); }
public void Evaluate_WithMultOperation_ReturnsResult() { IMathExpression leftOperand = new VariableReference("x", 1); const char operationChar = '*'; IMathExpression rightOperand = new VariableReference("y", 1); MathOperation operation = new MathOperation(leftOperand, operationChar, rightOperand); Assert.AreEqual(1, operation.Evaluate()); }
public void Evaluate_WithReferences_ReturnsResult() { // x+ (y*2) IMathExpression leftOperand = new VariableReference("x", 4); const char operationChar = '+'; IMathExpression rightOperand = new VariableReference("y", 2); MathOperation operation = new MathOperation(leftOperand, operationChar, new MathOperation(rightOperand,'*',new ConstantReference(2))); Assert.AreEqual(8, operation.Evaluate()); }