diff --git a/src/main/java/avatartranslator/AvatarExpressionSolver.java b/src/main/java/avatartranslator/AvatarExpressionSolver.java index d3bcceef3fe19b5d32b60591c02c58592df94618..d9e9bec9440de6250bfb0c801c16c9ae10277d27 100644 --- a/src/main/java/avatartranslator/AvatarExpressionSolver.java +++ b/src/main/java/avatartranslator/AvatarExpressionSolver.java @@ -813,10 +813,6 @@ public class AvatarExpressionSolver { } switch (operator) { - case '<': - case '>': - case ':': - case ';': case '-': case '+': case '/': @@ -827,6 +823,10 @@ public class AvatarExpressionSolver { case '&': case '=': case '$': + case '<': + case '>': + case ':': + case ';': optype = IMMEDIATE_BOOL; break; default: diff --git a/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java b/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java index d941e627c3129ce223a6b8a2eb855a56ad3d72c9..1f4c1d21dc2dbcbac68af5c9260c7eeb4d854708 100644 --- a/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java +++ b/ttool/src/test/java/avatartranslator/AvatarExpressionTest.java @@ -115,10 +115,17 @@ public class AvatarExpressionTest { assertTrue(e5.buildExpression()); AvatarExpressionSolver e6 = new AvatarExpressionSolver("10 -Cabin.match"); assertFalse(e6.buildExpression()); + AvatarExpressionSolver e7 = new AvatarExpressionSolver("not(10)"); + assertFalse(e7.buildExpression()); + AvatarExpressionSolver e8 = new AvatarExpressionSolver("-(false)"); + assertFalse(e8.buildExpression()); + AvatarExpressionSolver e9 = new AvatarExpressionSolver("-10 < 5 || 20/4 == 5"); + assertTrue(e9.buildExpression()); assertTrue(e1.getResult() == 1); assertTrue(e2.getResult() == 1); assertTrue(e3.getResult() == 0); assertTrue(e5.getResult() == 1); + assertTrue(e9.getResult() == 1); } @Test