From 6be445abcd08cb111d0b77029620d350262b3840 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 7 Nov 2015 16:02:17 +0000 Subject: Java frontend: read if statements --- .../couscous/tests/frontends/java/JavaReaderTests.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/test/java/org') 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 b8309b3..629a815 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 @@ -32,9 +32,11 @@ import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.FieldAccessNode.fieldAccess; import static org.zwobble.couscous.ast.FieldDeclarationNode.field; +import static org.zwobble.couscous.ast.IfStatementNode.ifStatement; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.MethodCallNode.methodCall; import static org.zwobble.couscous.ast.MethodCallNode.not; +import static org.zwobble.couscous.ast.ReturnNode.returns; import static org.zwobble.couscous.ast.StaticMethodCallNode.boxBoolean; import static org.zwobble.couscous.ast.StaticMethodCallNode.boxInt; import static org.zwobble.couscous.ast.StaticMethodCallNode.same; @@ -355,6 +357,16 @@ public class JavaReaderTests { readStatement("Integer.parseInt(\"42\");")); } + @Test + public void canReadIfStatements() { + assertEquals( + ifStatement( + literal(true), + asList(returns(literal(1))), + asList(returns(literal(2)))), + readStatement("if (true) { return 1; } else { return 2; }")); + } + @Test public void canDeclareConstructor() { ClassNode classNode = readClass( -- cgit v1.2.3