diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-31 10:40:17 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-31 10:40:17 +0000 |
| commit | 292834a886ff6a2263ad9878500edec35efb5d60 (patch) | |
| tree | af419dca5aafac35b4d2e660c4c338f074fa497e /src/test/java/org | |
| parent | 12c91d0c9fc8b9e400aae47058ae41d92602f6eb (diff) | |
Read some infix operators for int
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java | 8 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 32 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java index 74b0ae4..b1101ec 100644 --- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java +++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java @@ -3,6 +3,7 @@ package org.zwobble.couscous.tests; import java.nio.file.Files; import java.util.List; +import org.junit.Ignore; import org.junit.Test; import org.zwobble.couscous.ast.ClassNode; import org.zwobble.couscous.ast.TypeName; @@ -21,6 +22,13 @@ public class JavaToPythonTests { assertEquals(value(42), evalExpression("42")); } + @Test + @Ignore("WIP") + public void canUseOperatorsOnPrimitives() { + assertEquals(value(3), evalExpression("1 + 2")); + assertEquals(value(false), evalExpression("1 > 2")); + } + private PrimitiveValue evalExpression(String expressionSource) { try { final java.lang.String javaClass = "package com.example;" + "public class Example {" + " public static Object main() {" + " return " + expressionSource + ";" + " }" + "}"; 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 d01830f..ecb4d2a 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 @@ -144,6 +144,38 @@ public class JavaReaderTests { } @Test + public void canUseOperatorsOnIntegers() { + assertEquals( + methodCall(literal(1), "add", asList(literal(2)), IntegerValue.REF), + readExpression("1 + 2")); + assertEquals( + methodCall(literal(1), "subtract", asList(literal(2)), IntegerValue.REF), + readExpression("1 - 2")); + assertEquals( + methodCall(literal(1), "multiply", asList(literal(2)), IntegerValue.REF), + readExpression("1 * 2")); + assertEquals( + methodCall(literal(1), "divide", asList(literal(2)), IntegerValue.REF), + readExpression("1 / 2")); + assertEquals( + methodCall(literal(1), "mod", asList(literal(2)), IntegerValue.REF), + readExpression("1 % 2")); + + assertEquals( + methodCall(literal(1), "greaterThan", asList(literal(2)), BooleanValue.REF), + readExpression("1 > 2")); + assertEquals( + methodCall(literal(1), "greaterThanOrEqual", asList(literal(2)), BooleanValue.REF), + readExpression("1 >= 2")); + assertEquals( + methodCall(literal(1), "lessThan", asList(literal(2)), BooleanValue.REF), + readExpression("1 < 2")); + assertEquals( + methodCall(literal(1), "lessThanOrEqual", asList(literal(2)), BooleanValue.REF), + readExpression("1 <= 2")); + } + + @Test public void canReadTernaryConditionals() { assertEquals( ternaryConditional(literal(true), literal(1), literal(2)), |
