diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-07 19:16:48 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-07 19:16:48 +0100 |
| commit | 814afa129ff03c3c6396afcf5f87ea6ae5b6413f (patch) | |
| tree | eb8f53aaf3c6a1b1d3c00fcf45e6785f36fe3e5e /src/test/java | |
| parent | 08fa3c8b03ba9b8054ae2c7d4e110c968eebc203 (diff) | |
Split off JavaReader and test separately
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java | 2 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java | 38 |
2 files changed, 38 insertions, 2 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java index cbd8ca5..6732f47 100644 --- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java +++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java @@ -20,8 +20,6 @@ public class JavaToPythonTests { @Test public void canEvaluateLiterals() { assertEquals(value("hello"), evalExpression("\"hello\"")); - assertEquals(value(true), evalExpression("true")); - assertEquals(value(false), evalExpression("false")); assertEquals(value(42), evalExpression("42")); } 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 new file mode 100644 index 0000000..d75f16c --- /dev/null +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -0,0 +1,38 @@ +package org.zwobble.couscous.tests.frontends.java; + +import org.junit.Test; +import org.zwobble.couscous.ast.ExpressionNode; +import org.zwobble.couscous.ast.ReturnNode; +import org.zwobble.couscous.frontends.java.JavaReader; + +import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.LiteralNode.literal; + +import lombok.SneakyThrows; +import lombok.val; + +public class JavaReaderTests { + @Test + public void canReadLiterals() { + assertEquals(literal("hello"), readExpression("\"hello\"")); + assertEquals(literal(true), readExpression("true")); + assertEquals(literal(false), readExpression("false")); + assertEquals(literal(42), readExpression("42")); + } + + @SneakyThrows + private ExpressionNode readExpression(String expressionSource) { + val javaClass = + "package com.example;" + + "public class Example {" + + " public static Object main() {" + + " return " + expressionSource + ";" + + " }" + + "}"; + + val reader = new JavaReader(); + val classNode = reader.readClassFromString(javaClass); + val returnStatement = (ReturnNode) classNode.getMethods().get(0).getBody().get(0); + return returnStatement.getValue(); + } +} |
