Parse() публичный абстрактный Метод

public abstract Parse ( string opDesc ) : bool
opDesc string
Результат bool
Пример #1
0
        public void OperationRunnerTest_negative_number()
        {
            var op       = Operation.Parse("+ -1 2");
            var result   = OperationRunner.Run(op);
            var expected = 1;

            Assert.AreEqual(expected, result);
        }
Пример #2
0
        public void OperationRunnerTest()
        {
            var op       = Operation.Parse("* + 2 3 4");
            var result   = OperationRunner.Run(op);
            var expected = 20;

            Assert.AreEqual(expected, result);
        }
Пример #3
0
        public void OperationRunnerTest1()
        {
            var op       = Operation.Parse("/ + 10 2 4");
            var result   = OperationRunner.Run(op);
            var expected = 9;

            Assert.AreEqual(expected, result);
        }
Пример #4
0
        public void OperationParser()
        {
            var input  = "* + 2 3 4";
            var result = Operation.Parse(input);

            Assert.IsTrue(result.Operations.Contains(Operator.Mult));
            Assert.IsTrue(result.Operations.Contains(Operator.Add));
        }
Пример #5
0
        public void PlusStringWithSpacesParsingToAdditionOperation()
        {
            var plusWithSpacesString = " + ";

            var operation = Operation.Parse(plusWithSpacesString);

            Assert.IsType <AdditionOperation>(operation);
        }
Пример #6
0
        public void StringWithOnlySpacesThrowsInvalidOperationException()
        {
            var operatorString = " ";

            Action action = () => Operation.Parse(operatorString);

            var invalidOperationException = Assert.Throws <InvalidOperationException>(action);

            Assert.Equal("Operation it is not white space", invalidOperationException.Message);
        }
Пример #7
0
        public void StringWithAnotherSymbolThrowsInvalidOperationException()
        {
            var stringWithAnotherSymbol = "0";

            Action action = () => Operation.Parse(stringWithAnotherSymbol);

            var invalidOperationException = Assert.Throws <InvalidOperationException>(action);

            Assert.Equal("This operation is not support", invalidOperationException.Message);
        }
Пример #8
0
        public void ParseShouldFindLeftAndRightNumber(double leftNumber, string operand, double rightNumber)
        {
            //Arrange
            var operation = new Operation();

            //Act
            operation.Parse($"{leftNumber}{operand}{rightNumber}");
            //Assert
            Assert.That(operation.LeftNumber, Is.EqualTo(leftNumber));
            Assert.That(operation.RightNumber, Is.EqualTo(rightNumber));
        }
Пример #9
0
        public static Command Parse(string s)
        {
            var lines = SplitToLines(s);

            return(new Command
            {
                InState = ParseWordFromEnd(lines[0])[0],
                FalseOperation = Operation.Parse(new ArraySegment <string>(lines, 2, 3).ToArray()),
                TrueOperation = Operation.Parse(new ArraySegment <string>(lines, 6, 3).ToArray()),
            });
        }
Пример #10
0
        public void SolveShouldReturnDouble(string equation, double expectedResult)
        {
            //Arrange
            var operation = new Operation();

            operation.Parse(equation);
            //Act
            var result = operation.Solve();

            //Assert
            Assert.That(result, Is.EqualTo(expectedResult));
        }
Пример #11
0
        private static long ComputeFlatEquation(string equation, OperationOrder order)
        {
            equation = Regex.Replace(equation, @"\s+", "");

            Operation operation = new Operation();

            operation.Parse(equation, order);

            var result = operation.Solve();

            return(result);
        }
Пример #12
0
        private void ParseProgram()
        {
            if (Program != null)
            {
                return;
            }

            Input   = Input.Replace("\r", "");
            Program = Input
                      .Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries)
                      .Select(s => Operation.Parse(s))
                      .ToArray();
        }