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));
        }
示例#4
0
 public ExpressionResult Evaluate(double initialValue = 0, Character target = null)
 {
     return(ExpressionCalculator.Evaluate(initialValue, Expr, target, Vars));
 }