public void ExpressionCalculator_InvalidExpression_ThrowsException(string expression) { var expressionParser = new ExpressionParser(); var calculator = new ExpressionCalculator(expressionParser); Assert.Throws <InvalidDataException>(() => calculator.Evaluate(expression)); }
public void ExpressionCalculator_IncorrectSyntax_ThrowsException(string expression) { var expressionParser = new ExpressionParser(); var calculator = new ExpressionCalculator(expressionParser); Assert.Throws <Exception>(() => calculator.Evaluate(expression)); }
public void ExpressionCalculator_ValidExpression_GivesCorrectResult(string expression, double expected) { var expressionParser = new ExpressionParser(); var calculator = new ExpressionCalculator(expressionParser); var expressionValue = calculator.Evaluate(expression); Assert.Equal(expected, Math.Round(expressionValue, 6)); }
public ExpressionResult Evaluate(double initialValue = 0, Character target = null) { return(ExpressionCalculator.Evaluate(initialValue, Expr, target, Vars)); }