aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java2
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerMethodTests.java10
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java9
3 files changed, 11 insertions, 10 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
index 38627dc..d6d35af 100644
--- a/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/BackendMethodTests.java
@@ -121,6 +121,7 @@ public abstract class BackendMethodTests {
LocalVariableDeclarationNode x = localVariableDeclaration(TestIds.id("x"), "x", IntegerValue.REF, literal(0));
LocalVariableDeclarationNode y = localVariableDeclaration(TestIds.id("y"), "y", IntegerValue.REF, literal(2));
MethodNode.Builder method = staticMethod("hello")
+ .returns(IntegerValue.REF)
.statement(x)
.statement(y)
.statement(whileLoop(
@@ -135,6 +136,7 @@ public abstract class BackendMethodTests {
LocalVariableDeclarationNode x = localVariableDeclaration(TestIds.id("x"), "x", IntegerValue.REF, literal(0));
LocalVariableDeclarationNode y = localVariableDeclaration(TestIds.id("y"), "y", IntegerValue.REF, literal(2));
MethodNode.Builder method = staticMethod("hello")
+ .returns(IntegerValue.REF)
.statement(x)
.statement(y)
.statement(whileLoop(
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerMethodTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerMethodTests.java
index d68c349..8817644 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerMethodTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerMethodTests.java
@@ -11,16 +11,6 @@ public class CsharpCompilerMethodTests extends BackendMethodTests {
public void methodWithNoStatementsReturnsUnit() {
}
- @Ignore
- @Test
- public void whileLoopIsExecutedWhileConditionIsTrue() {
- }
-
- @Ignore
- @Test
- public void returnWillExitWhileLoopEarly() {
- }
-
@Override
protected MethodRunner buildMethodRunner() {
return new CsharpMethodRunner();
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
index cc686e5..3f4ef60 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
@@ -23,6 +23,7 @@ import static org.zwobble.couscous.ast.TernaryConditionalNode.ternaryConditional
import static org.zwobble.couscous.ast.ThisReferenceNode.thisReference;
import static org.zwobble.couscous.ast.VariableDeclaration.var;
import static org.zwobble.couscous.ast.VariableReferenceNode.reference;
+import static org.zwobble.couscous.ast.WhileNode.whileLoop;
import static org.zwobble.couscous.util.ExtraLists.list;
public class CsharpSerializerTests {
@@ -179,6 +180,14 @@ public class CsharpSerializerTests {
}
@Test
+ public void whileLoopPrintsConditionAndBody() {
+ String output = serialize(whileLoop(
+ literal(true),
+ list(returns(literal(1)))));
+ assertEquals("while (true) {\n return 1;\n}\n", output);
+ }
+
+ @Test
public void methodCanHaveVoidReturnType() {
String output = serialize(MethodNode.staticMethod("nothing")
.returns(TypeName.of("void"))