Exemple #1
0
        public void TestCalcComplexExpression()
        {
            List <Token> source = new List <Token>()
            {
                new TokenOperand()
                {
                    Value = "2"
                },
                new TokenOperation()
                {
                    Value = "+", Priority = 10
                },
                new TokenOperand()
                {
                    Value = "3"
                },
                new TokenOperation()
                {
                    Value = "*", Priority = 20
                },
                new TokenOperand()
                {
                    Value = "8"
                },
            };
            Alu alu      = new Alu();
            int actual   = alu.Calc(source);
            int expected = 26;

            Assert.AreEqual(expected, actual);
        }
Exemple #2
0
        public void TestCalcSimpleWithBreakets2()
        {
            List <Token> source = new List <Token>()
            {
                new TokenOperand()
                {
                    Value = "3"
                },
                new TokenOperation()
                {
                    Value = "+", Priority = 10
                },
                new TokenOperand()
                {
                    Value = "2"
                },
                new TokenOperation()
                {
                    Value = "*", Priority = 20
                },
                new TokenBracket()
                {
                    Value = "(", isOpened = true, Priority = 5
                },
                new TokenOperand()
                {
                    Value = "3"
                },
                new TokenOperation()
                {
                    Value = "+", Priority = 10
                },
                new TokenOperand()
                {
                    Value = "4"
                },
                new TokenBracket()
                {
                    Value = ")", isOpened = false, Priority = 5
                },
            };
            Alu alu      = new Alu();
            int actual   = alu.Calc(source);
            int expected = 17;

            Assert.AreEqual(expected, actual);
        }
Exemple #3
0
        public void TestCalSimpleExpression()
        {
            List <Token> source = new List <Token>()
            {
                new TokenOperand()
                {
                    Value = "2"
                },
                new TokenOperation()
                {
                    Value = "+"
                },
                new TokenOperand()
                {
                    Value = "2"
                }
            };
            Alu alu      = new Alu();
            int actual   = alu.Calc(source);
            int expected = 4;

            Assert.AreEqual(expected, actual);
        }