diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-16 15:23:01 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-16 15:23:01 +0000 |
| commit | 4197fcbcd7a54cc11231d80edd1d17effce9b1e9 (patch) | |
| tree | 7f382a0efd37545af512bcf7002edd9a16a233e8 /src/test/java/org | |
| parent | 1bab211fd6231ed99b84b764e8f78ac2be1272f8 (diff) | |
Implement basic method calls in C# backend
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerEvalTests.java | 5 | ||||
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java | 27 |
2 files changed, 27 insertions, 5 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerEvalTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerEvalTests.java index 68870f4..2348acf 100644 --- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerEvalTests.java +++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpCompilerEvalTests.java @@ -47,11 +47,6 @@ public class CsharpCompilerEvalTests extends BackendEvalTests { @Test @Ignore - public void canCallInstanceMethodWithNoArgumentsOnUserDefinedClass() { - } - - @Test - @Ignore public void canCallInstanceMethodWithArgumentsOnUserDefinedClass() { } 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 93456ef..1139e3c 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 @@ -6,11 +6,14 @@ import org.zwobble.couscous.backends.csharp.CsharpSerializer; import org.zwobble.couscous.tests.TestIds; import static org.junit.Assert.assertEquals; +import static org.zwobble.couscous.ast.ConstructorCallNode.constructorCall; import static org.zwobble.couscous.ast.LiteralNode.literal; +import static org.zwobble.couscous.ast.MethodCallNode.methodCall; import static org.zwobble.couscous.ast.ReturnNode.returns; import static org.zwobble.couscous.ast.TernaryConditionalNode.ternaryConditional; import static org.zwobble.couscous.ast.VariableDeclaration.var; import static org.zwobble.couscous.ast.VariableReferenceNode.reference; +import static org.zwobble.couscous.util.ExtraLists.list; public class CsharpSerializerTests { @Test @@ -53,6 +56,24 @@ public class CsharpSerializerTests { } @Test + public void methodCallWithNoArgumentsWritesReceiver() { + String output = serialize(methodCall( + reference(var(TestIds.ANY_ID, "x", TypeName.of("X"))), + "y", + list(), + TypeName.of("Y"))); + assertEquals("x.y()", output); + } + + @Test + public void constructorCallWithNoArguments() { + String output = serialize(constructorCall( + TypeName.of("X"), + list())); + assertEquals("new Couscous.X()", output); + } + + @Test public void returnStatementUsesReturnStatement() { String output = serialize(returns(literal(true))); assertEquals("return true;", output); @@ -65,6 +86,12 @@ public class CsharpSerializerTests { } @Test + public void instanceMethodHasNoStaticKeword() { + String output = serialize(MethodNode.builder("nothing").build()); + assertEquals("internal dynamic nothing() {\n}\n", output); + } + + @Test public void methodHasSerializedBody() { MethodNode method = MethodNode.staticMethod("nothing") .statement(returns(literal(true))) |
