aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2018-01-27 18:42:03 +0000
committerMichael Williamson <mike@zwobble.org>2018-01-27 18:42:03 +0000
commita34b03537f1ee6e7f3d4ee88bf5dd4f93d1bf7e4 (patch)
tree4cd44814081b36452225f9d1dc444299d1fa7a7d /src/test
parentca151d1aa03a6ca5855b447cc1f81081388bc720 (diff)
Read integer negation
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java53
1 files changed, 35 insertions, 18 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
index 4aa015e..a337943 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java
@@ -522,6 +522,41 @@ public class ExpressionReadingTests {
}
@Test
+ public void canReadPrefixDecrement() {
+ ClassNode classNode = readClass(
+ "public void go(int value) {" +
+ " --value;" +
+ "}");
+
+ MethodNode method = classNode.getMethods().get(0);
+ FormalArgumentNode argument = method.getArguments().get(0);
+ ExpressionStatementNode statement = (ExpressionStatementNode)
+ classNode.getMethods().get(0).getBody().get().get(0);
+ assertEquals(
+ assign(
+ reference(argument),
+ integerSubtract(reference(argument), literal(1))),
+ statement.getExpression());
+ }
+
+ @Test
+ public void canReadIntegerNegation() {
+ ClassNode classNode = readClass(
+ "public int go(int value) {" +
+ " return -value;" +
+ "}");
+
+ MethodNode method = classNode.getMethods().get(0);
+ FormalArgumentNode argument = method.getArguments().get(0);
+ ReturnNode statement = (ReturnNode)
+ classNode.getMethods().get(0).getBody().get().get(0);
+ assertEquals(
+ integerNegation(reference(argument)),
+ statement.getValue()
+ );
+ }
+
+ @Test
public void canReadCompoundAssignmentOperations() {
canReadCompoundAssignmentOperation("+=", Operator.ADD);
canReadCompoundAssignmentOperation("-=", Operator.SUBTRACT);
@@ -584,22 +619,4 @@ public class ExpressionReadingTests {
boxInt(integerAdd(unboxInt(reference(left)), reference(right)))),
statement.getExpression());
}
-
- @Test
- public void canReadPrefixDecrement() {
- ClassNode classNode = readClass(
- "public void go(int value) {" +
- " --value;" +
- "}");
-
- MethodNode method = classNode.getMethods().get(0);
- FormalArgumentNode argument = method.getArguments().get(0);
- ExpressionStatementNode statement = (ExpressionStatementNode)
- classNode.getMethods().get(0).getBody().get().get(0);
- assertEquals(
- assign(
- reference(argument),
- integerSubtract(reference(argument), literal(1))),
- statement.getExpression());
- }
}