public void ParseInfixExpression_ExpectGoodResults_GetCorrectPostfixNotationOut() { var expression1 = new List <string>(); var expected1 = new List <string>() { { "5" }, { "3" }, { "2" }, { "/" }, { "+" } }; expression1.Add("5"); expression1.Add("+"); expression1.Add("3"); expression1.Add("/"); expression1.Add("2"); var expression2 = new List <string>(); var expected2 = new List <string>() { { "5" }, { "3" }, { "/" }, { "2" }, { "+" } }; expression2.Add("5"); expression2.Add("/"); expression2.Add("3"); expression2.Add("+"); expression2.Add("2"); var myParser = new MyParser(); var result1 = new List <string>(myParser.Execute(expression1)); var result2 = new List <string>(myParser.Execute(expression2)); Assert.IsTrue(ShallowListEquality.Test(expected1, result1)); Assert.IsTrue(ShallowListEquality.Test(expected2, result2)); }
public void ValidateString_NormalExpression_PassValidation() { var myValidator = new ExpressionValidator(); var input1 = new List <string>(); input1.Add("1"); input1.Add("+"); input1.Add("3"); input1.Add("*"); input1.Add("5"); var result1 = new List <string>(myValidator.Execute(input1)); Assert.IsTrue(ShallowListEquality.Test(result1, input1)); }
public void ValidateString_ExpressionWithParenthesis_PassValidation() { var myValidator = new ExpressionValidator(); var input2 = new List <string>(); input2.Add("("); input2.Add("1"); input2.Add("*"); input2.Add("2"); input2.Add(")"); input2.Add("^"); input2.Add("5"); var result2 = new List <string>(myValidator.Execute(input2)); Assert.IsTrue(ShallowListEquality.Test(result2, input2)); }
public void ParseInfixExpression_AppropriateResultsWithParenthesis() { var expression3 = new List <string>(); var expected3 = new List <string>() { { "1" }, { "2" }, { "3" }, { "*" }, { "+" } }; expression3.Add("1"); expression3.Add("+"); expression3.Add("("); expression3.Add("2"); expression3.Add("*"); expression3.Add("3"); expression3.Add(")"); var expression4 = new List <string>(); var expected4 = new List <string>() { { "1" }, { "2" }, { "+" }, { "3" }, { "*" } }; expression4.Add("("); expression4.Add("1"); expression4.Add("+"); expression4.Add("2"); expression4.Add(")"); expression4.Add("*"); expression4.Add("3"); var myParser = new MyParser(); var result3 = new List <string>(myParser.Execute(expression3)); var result4 = new List <string>(myParser.Execute(expression4)); Assert.IsTrue(ShallowListEquality.Test(expected3, result3)); Assert.IsTrue(ShallowListEquality.Test(expected4, result4)); }