From 8a7cb643ac9b0e895123c176803af15b75f90cf1 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 14 Nov 2015 14:30:50 +0000 Subject: Parse while loops --- .../zwobble/couscous/tests/ValueObjectTests.java | 27 +++------------------- .../tests/frontends/java/JavaReaderTests.java | 10 ++++++++ 2 files changed, 13 insertions(+), 24 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java index 124f34b..ccfdfdd 100644 --- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java +++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java @@ -12,29 +12,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import org.zwobble.couscous.ast.AnnotationNode; -import org.zwobble.couscous.ast.AssignableExpressionNode; -import org.zwobble.couscous.ast.AssignmentNode; -import org.zwobble.couscous.ast.ClassNode; -import org.zwobble.couscous.ast.ConstructorCallNode; -import org.zwobble.couscous.ast.ConstructorNode; -import org.zwobble.couscous.ast.ExpressionNode; -import org.zwobble.couscous.ast.ExpressionStatementNode; -import org.zwobble.couscous.ast.FieldAccessNode; -import org.zwobble.couscous.ast.FieldDeclarationNode; -import org.zwobble.couscous.ast.FormalArgumentNode; -import org.zwobble.couscous.ast.IfStatementNode; -import org.zwobble.couscous.ast.LiteralNode; -import org.zwobble.couscous.ast.LocalVariableDeclarationNode; -import org.zwobble.couscous.ast.MethodCallNode; -import org.zwobble.couscous.ast.MethodNode; -import org.zwobble.couscous.ast.ReturnNode; -import org.zwobble.couscous.ast.StaticMethodCallNode; -import org.zwobble.couscous.ast.TernaryConditionalNode; -import org.zwobble.couscous.ast.ThisReferenceNode; -import org.zwobble.couscous.ast.TypeName; -import org.zwobble.couscous.ast.VariableDeclaration; -import org.zwobble.couscous.ast.VariableReferenceNode; +import org.zwobble.couscous.ast.*; import org.zwobble.couscous.util.ExtraArrays; import org.zwobble.couscous.values.PrimitiveValue; import org.zwobble.couscous.values.StringValue; @@ -77,7 +55,8 @@ public class ValueObjectTests { {ThisReferenceNode.class}, {TypeName.class}, {VariableDeclaration.class}, - {VariableReferenceNode.class} + {VariableReferenceNode.class}, + {WhileNode.class} }); } 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 629a815..7782fdc 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 @@ -45,6 +45,7 @@ import static org.zwobble.couscous.ast.StaticMethodCallNode.unboxInt; import static org.zwobble.couscous.ast.TernaryConditionalNode.ternaryConditional; import static org.zwobble.couscous.ast.ThisReferenceNode.thisReference; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; +import static org.zwobble.couscous.ast.WhileNode.whileLoop; import static org.zwobble.couscous.tests.util.ExtraFiles.deleteRecursively; public class JavaReaderTests { @@ -366,6 +367,15 @@ public class JavaReaderTests { asList(returns(literal(2)))), readStatement("if (true) { return 1; } else { return 2; }")); } + + @Test + public void canReadWhileLoops() { + assertEquals( + whileLoop( + literal(true), + asList(returns(literal(1)))), + readStatement("while (true) { return 1; }")); + } @Test public void canDeclareConstructor() { -- cgit v1.2.3