aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-11-14 14:30:50 +0000
committerMichael Williamson <mike@zwobble.org>2015-11-14 14:30:50 +0000
commit8a7cb643ac9b0e895123c176803af15b75f90cf1 (patch)
tree046f0b48f76734451fb0c8a39236212e6108bf6f /src/test/java
parentf398933835e7fa7a80b0abd7feda6790370804c8 (diff)
Parse while loops
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java27
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java10
2 files changed, 13 insertions, 24 deletions
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() {