public void InfixToRPNTest3() { var tokens = Tokenizer.Default.GetTokens("max(10 - 4, 2 + 6)"); var rpn = MathEvaluator.InfixToRPN(tokens); // 10 4 - 2 6 + max var expected = new string[] { "10", "4", "-", "2", "6", "+", "max" }; Assert.AreEqual(expected, TokenExtensions.ToStringArray(rpn), "{0}\n{1}", rpn.CollectionToString(s => s.Value), rpn.CollectionToString()); }
public void InfixToRPNTest2() { var tokens = Tokenizer.Default.GetTokens("(10 + (-5 * 2))"); var rpn = MathEvaluator.InfixToRPN(tokens); //10 5 - 2 * + var expected = new string[] { "10", "5", "-", "2", "*", "+" }; Assert.AreEqual(expected, TokenExtensions.ToStringArray(rpn), "{0}\n{1}", rpn.CollectionToString(s => s.Value), rpn.CollectionToString()); }