From 814afa129ff03c3c6396afcf5f87ea6ae5b6413f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Wed, 7 Oct 2015 19:16:48 +0100 Subject: Split off JavaReader and test separately --- .../zwobble/couscous/tests/JavaToPythonTests.java | 2 -- .../tests/frontends/java/JavaReaderTests.java | 38 ++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java (limited to 'src/test/java/org/zwobble') 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(); + } +} -- cgit v1.2.3