public void Most_priority_operators_calls_first(string input, string expected)
        {
            var tokensTape = new ExpressionParser().ParseExpression(input);
            var executor   = new MathExecutor();

            var afterExecuteOperation = executor.ExecuteMostPriorityOperation(tokensTape);

            afterExecuteOperation.ToString().Should().Be(expected);
        }
        public void Many_times_evaluations_work(string input, string expected)
        {
            var tokensTape = new ExpressionParser().ParseExpression(input);
            var executor   = new MathExecutor();

            var afterExecuteOperation = executor.ExecuteMostPriorityOperation(tokensTape);

            while (afterExecuteOperation.Enumerate().Count() > 1)
            {
                afterExecuteOperation = executor.ExecuteMostPriorityOperation(afterExecuteOperation);
            }

            afterExecuteOperation.ToString().Should().Be(expected);
        }