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); }
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); }
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); }