aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-07 19:16:48 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-07 19:16:48 +0100
commit814afa129ff03c3c6396afcf5f87ea6ae5b6413f (patch)
treeeb8f53aaf3c6a1b1d3c00fcf45e6785f36fe3e5e /src/test/java/org
parent08fa3c8b03ba9b8054ae2c7d4e110c968eebc203 (diff)
Split off JavaReader and test separately
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java2
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java38
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();
+ }
+}