public void Intrinsic_not_followed_by_parantheis___throws_ParsingException(
            [Values("sin 3.14", "cos 0.84")] string expr)
        {
            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }
        public void Exponentation_following_other_operation___OK()
        {
            string exp = "2+e^4";
            var    sut = new BasicExpressionEvaluator();

            double actual = sut.Evaluate(exp);
        }
        public void Operand_followed_by_operand___throws_ParsingException(
            [Values("3+*4", "-1 +/ 2", "4.23 -+ 2.234")] string expr)
        {
            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }
        public void Right_paranthesis_is_missing___throws_ParsingException(
            [Values("(3+4", "3*5 + (12 - 4.32")] string expr)
        {
            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }
        public void No_left_paranthesis_when_right_is_given___throws_ParsingException()
        {
            string expr = "3 + 4 * 2)";

            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }
        public void Value_followed_by_value___throws_ParsingException()
        {
            string expr = "3 4";

            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }
        public void Complex_failures___throws_ParsingException(string expr)
        {
            var sut = new BasicExpressionEvaluator();

            Assert.Throws <ParsingException>(() => sut.Evaluate(expr));
        }