From f7a7bfd4764f2787e022fc0a9dd8eb57c151e90d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 7 Nov 2015 15:54:07 +0000 Subject: Add if-statement node --- .../java/org/zwobble/couscous/tests/BackendMethodTests.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java') diff --git a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java index f1af3a9..f77140b 100644 --- a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java +++ b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java @@ -9,11 +9,13 @@ import org.zwobble.couscous.ast.MethodNode; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.PrimitiveValues; import org.zwobble.couscous.values.StringValue; + import static java.util.Arrays.asList; import static org.junit.Assert.assertEquals; import static org.zwobble.couscous.ast.AssignmentNode.assign; import static org.zwobble.couscous.ast.ExpressionStatementNode.expressionStatement; import static org.zwobble.couscous.ast.FormalArgumentNode.formalArg; +import static org.zwobble.couscous.ast.IfStatementNode.ifStatement; import static org.zwobble.couscous.ast.LiteralNode.literal; import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariableDeclaration; import static org.zwobble.couscous.ast.MethodNode.staticMethod; @@ -85,6 +87,16 @@ public abstract class BackendMethodTests { assertEquals(value("[updated value]"), result); } + @Test + public void whenConditionIsTrueIfStatementExecutesTrueBranch() { + MethodNode.Builder method = staticMethod("hello") + .statement(ifStatement( + literal(true), + asList(returns(literal("[true]"))), + asList(returns(literal("[false]"))))); + assertEquals(value("[true]"), runMethod(method)); + } + protected PrimitiveValue runMethod(MethodNode.Builder methodBuilder, PrimitiveValue... arguments) { MethodNode method = methodBuilder.build(); String className = "com.example.Program"; -- cgit v1.2.3