private static bool runTest(int testId) { mXparser.consolePrintln("[" + testId + "] ----------------------------------------------"); bool testResult = false; bool syn; bool reg; String expStr = ""; String msg = ""; Argument x = new Argument("x"); Expression e; Constant c1; Function f; switch (testId) { case 0: expStr = ""; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr, x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 1: expStr = "1++"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 2: expStr = "1+1-"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 3: expStr = "+-1"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 4: expStr = "1-(2))"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 5: expStr = "1id"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 6: expStr = "(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 7: expStr = "f(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 8: expStr = "sin"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 9: expStr = "sin()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 10: expStr = "cos(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 11: expStr = "log"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 12: expStr = "log()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 13: expStr = "log(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 14: expStr = "log(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 15: expStr = "if"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 16: expStr = "if()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 17: expStr = "if(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 18: expStr = "if(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 19: expStr = "if(1,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 20: expStr = "pi()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 21: expStr = "pi(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 22: expStr = "[K*]()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 23: expStr = "[K*](12)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 24: expStr = "min"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 25: expStr = "min()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 26: expStr = "max"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 27: expStr = "max()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 28: expStr = "iff"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 29: expStr = "iff()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 30: expStr = "iff(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 31: expStr = "iff(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 32: expStr = "iff(1,2,3,4,5)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 33: expStr = "sum"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 34: expStr = "sum()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 35: expStr = "sum(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 36: expStr = "sum(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 37: expStr = "sum(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 38: expStr = "sum(1,2,3,4,5,6)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 39: expStr = "prod()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 40: expStr = "prod(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 41: expStr = "prod(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 42: expStr = "prod(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 43: expStr = "prod(1,2,3,4,5,6)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 44: expStr = "sum(1,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 45: expStr = "sum(a*b,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 46: expStr = "sum(i,1,a,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 47: expStr = "prod(1,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 48: expStr = "prod(a*b,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 49: expStr = "prod(i,1,a,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 50: expStr = "int"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 51: expStr = "int()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 52: expStr = "int(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 53: expStr = "int(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 54: expStr = "int(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 55: expStr = "int(1,2,3,4,5)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 56: x = new Argument("x", 5); expStr = "int(,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 57: expStr = "int(1,2,0,1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 58: expStr = "der"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 59: expStr = "der()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 60: expStr = "der(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 61: expStr = "der(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 62: expStr = "der(1,2,3,4,5)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 63: expStr = "der(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 64: expStr = "der+"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 65: expStr = "der+()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 66: expStr = "der+(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 67: expStr = "der+(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 68: expStr = "der+(1,2,3,4,5)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 69: expStr = "der+(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 70: expStr = "der-"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 71: expStr = "der-()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 72: expStr = "der-(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 73: expStr = "der-(1,2,3)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 74: expStr = "der-(1,2,3,4,5)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 75: expStr = "der-(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 76: expStr = "diff"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 77: expStr = "diff()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 78: expStr = "diff(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 79: expStr = "diff(1,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 80: expStr = "diff(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 81: expStr = "difb"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 82: expStr = "difb()"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 83: expStr = "difb(1)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 84: expStr = "difb(1,2,3,4)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 85: expStr = "difb(1,2)"; mXparser.consolePrint(expStr + " ...... "); e = new Expression(expStr); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (syn == reg) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> "); break; case 86: expStr = "f()=x+y"; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f", f); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 87: expStr = "f(1,x,y)=x+y"; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f", f); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 88: expStr = "f(1)=x+y"; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f", f); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 89: expStr = "f(x,)=x+y"; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f", f); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 90: expStr = "f(x, a, x, )=x+y"; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f", f); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 91: expStr = " f (x , y, z ) = x + y +z "; mXparser.consolePrint(expStr + " ...... "); f = new Function(expStr); msg = f.getErrorMessage(); e = new Expression("f(1,2,3)", f); exp[testId] = e; reg = true; syn = e.checkSyntax(); if ( (msg.IndexOf("pattern not mathes") == -1) && (reg == syn) ) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 92: expStr = "x()=y+z"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 93: expStr = "x(1,a,b)=a+b"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 94: expStr = "x(1)=a+b"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 95: expStr = "x(a,)=a+b"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 96: expStr = "x(a, b, c,)=a+c"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 97: expStr = " x ( a, b , c ) = a+b+c"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr, new Argument("a = 1"), new Argument("b = 2"), new Argument(" c = 3")); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = true; syn = e.checkSyntax(); if ( (msg.IndexOf("Invalid argument definition") == -1) && (reg == syn) && (e.calculate() == 6) ) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + e.calculate() + " " + msg); break; case 98: expStr = "x 5"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 99: expStr = " x = 5 + 1 + 2"; mXparser.consolePrint(expStr + " ...... "); x = new Argument(expStr, new Argument("a = 1"), new Argument("b = 2"), new Argument(" c = 3")); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = true; syn = e.checkSyntax(); if ( (msg.IndexOf("Invalid argument definition") == -1) && (reg == syn) && (e.calculate() == 8) ) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + e.calculate() + " " + msg); break; case 100: expStr = "f(n,m)=n*f(n-1)"; mXparser.consolePrint(expStr + " ...... "); x = new RecursiveArgument(expStr); msg = x.getErrorMessage(); e = new Expression("x", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument definition") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 101: expStr = "RecursiveArgument name 1fa"; mXparser.consolePrint(expStr + " ...... "); x = new RecursiveArgument("1fa","f(n-1)", "n"); msg = x.getErrorMessage(); e = new Expression("x(1)", x); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("Invalid argument name") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 102: expStr = "x()=y+z"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 103: expStr = "x(1,a,b)=a+b"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 104: expStr = "x(1)=a+b"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 105: expStr = "x(a,)=a+b"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 106: expStr = "x(a, b, c,)=a+c"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 107: expStr = " x = a+b+c"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr, new Argument("a = 1"), new Argument("b = 2"), new Argument(" c = 3")); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = true; syn = e.checkSyntax(); if ( (msg.IndexOf("pattern not mathes") == -1) && (reg == syn) && (e.calculate() == 6) ) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + e.calculate() + " " + msg); break; case 108: expStr = "x 5"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("pattern not mathes") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; case 109: expStr = " x = 5 + 1 + 2"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant(expStr); msg = c1.getErrorMessage(); e = new Expression("x", c1); exp[testId] = e; reg = true; syn = e.checkSyntax(); if ( (msg.IndexOf("pattern not mathes") == -1) && (reg == syn) && (e.calculate() == 8) ) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + e.calculate() + " " + msg); break; case 110: expStr = "Constant name 1fa"; mXparser.consolePrint(expStr + " ...... "); c1 = new Constant("1fa",1); msg = c1.getErrorMessage(); e = new Expression("1fa", c1); exp[testId] = e; reg = false; syn = e.checkSyntax(); if (msg.IndexOf("invalid constant name") >= 0) testResult = true; mXparser.consolePrint(syn + " reg ... " + reg + " --> " + " -----> " + msg); break; } if (testResult == true) mXparser.consolePrint("OK"); else mXparser.consolePrint("ERROR"); return testResult; }