aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java1
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java26
2 files changed, 26 insertions, 1 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
index fa6322f..f17f42b 100644
--- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
@@ -60,7 +60,6 @@ public class JavaToPythonTests {
}
@Test
- @Ignore("WIP")
public void whileFactorial() throws Exception {
assertEquals(
value(720),
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
index 3f06f49..6f116cc 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java
@@ -354,6 +354,32 @@ public class JavaReaderTests {
}
@Test
+ public void canReadCompoundAssignmentOperations() {
+ canReadCompoundAssignmentOperation("+=", Operator.ADD);
+ canReadCompoundAssignmentOperation("-=", Operator.SUBTRACT);
+ canReadCompoundAssignmentOperation("*=", Operator.MULTIPLY);
+ canReadCompoundAssignmentOperation("/=", Operator.DIVIDE);
+ canReadCompoundAssignmentOperation("%=", Operator.MOD);
+ }
+
+ private void canReadCompoundAssignmentOperation(String symbol, Operator operator) {
+ ClassNode classNode = readClass(
+ "public void go(int value) {" +
+ " value " + symbol + " 2;" +
+ "}");
+
+ MethodNode method = classNode.getMethods().get(0);
+ FormalArgumentNode argument = method.getArguments().get(0);
+ ExpressionStatementNode statement = (ExpressionStatementNode)
+ classNode.getMethods().get(0).getBody().get(0);
+ assertEquals(
+ assign(
+ reference(argument),
+ integerOperation(operator.getMethodName(), reference(argument), literal(2))),
+ statement.getExpression());
+ }
+
+ @Test
public void canReadPrefixDecrement() {
ClassNode classNode = readClass(
"public void go(int value) {" +