Example #1
0
 public void TestPostFixConversions()
 {
     Assert.AreEqual("AB+c*", LEXSIM.ToPostFix("(A+B)*c"));
     Assert.AreEqual("abc*+2/e*a+", LEXSIM.ToPostFix("(a+b*c)/2*e+a"));
     Assert.AreEqual("abc*+2/ea+*", LEXSIM.ToPostFix("(a+b*c)/2*(e+a)"));
     Assert.AreEqual("ab+c-", LEXSIM.ToPostFix("a+b-c"));
     Assert.AreEqual("abc*d/-e+", LEXSIM.ToPostFix("a-b*c/d+e"));
     Assert.AreEqual("ABC*+D+", LEXSIM.ToPostFix("A+B*C+D"));
     Assert.AreEqual("AB+CD+*", LEXSIM.ToPostFix("(A+B)*(C+D)"));
     Assert.AreEqual("AB*CD*+", LEXSIM.ToPostFix("A*B+C*D"));
     Assert.AreEqual("AB+C+D+", LEXSIM.ToPostFix("A+B+C+D"));
     Assert.AreEqual("1", LEXSIM.ToPostFix("1"));
 }
Example #2
0
 public void TestSyntaxError()
 {
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("("));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(A+"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(a+b*c)/2*(e+a"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(ab+*c)/2*(e+a)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(a+b*cc)/2*(e+a"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(a + b)(c + d)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(a + b)(+c + d)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("a(+b)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("((a +)(b))"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("()"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("b)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("a)+(b"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("aa + b"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(a)(b)"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("(1 + 2)c"));
     Assert.AreEqual("Syntax Error!", LEXSIM.ToPostFix("()"));
 }
Example #3
0
 public void TestLexicalError()
 {
     Assert.AreEqual("Lexical Error!", LEXSIM.ToPostFix("(A+B)*%"));
     Assert.AreEqual("Lexical Error!", LEXSIM.ToPostFix("(\"a+b*cc)/2*(e+a)"));
 }