, , : - (TDD). : - , JUnit - infix2, () , infix2 .
,
assertequals("1", "1");
assertequals("-1", "-1");
assertequals("1+1", "1 1 +");
assertequals(" 1 + 1 ", "1 1 +");
assertequals(" 1 + +1 ", "1 -1 +");
assertequals(" 1 + -1 ", "1 -1 +");
assertequals("(1+1)", "1 1 +");
,
String[] illegalExpressions = {null, "", " ", "1 +", "1 + 1)"};
assertequals("52+(1+2)*4-3", "52 1 2 + 4 * 3 -");
assertequals("52+((1+2)*4)-3", "52 1 2 + 4 * 3 -");
assertequals("(52+1+2)*4-3", "52 1 + 2 + 4 * 3 -");