diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-01-16 16:15:51 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-01-16 16:15:51 +0000 |
| commit | b332717af88b5b613d60ec72af820b696e7e2c7a (patch) | |
| tree | 058eee425567060eb456935711140aa6e232244b /src/test/java/org | |
| parent | e886b0ddb09f1bc247858c3ff5405651c66f0ae8 (diff) | |
Add support for custom constructors
Diffstat (limited to 'src/test/java/org')
3 files changed, 16 insertions, 5 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java b/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java index 3bac39d..41ce893 100644 --- a/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java +++ b/src/test/java/org/zwobble/couscous/tests/BackendEvalTests.java @@ -210,6 +210,7 @@ public abstract class BackendEvalTests { fieldAccess(constructor.thisReference(), "value", IntegerValue.REF), reference(argument)))) .method("main", method -> method + .returns(IntegerValue.REF) .statement(returns( fieldAccess(method.thisReference(), "value", IntegerValue.REF)))) .build(); 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 b8aa1b4..79c4a6d 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 @@ -45,11 +45,6 @@ public class CsharpCompilerEvalTests extends BackendEvalTests { public void canCallStaticMethodFromUserDefinedStaticMethod() { } - @Test - @Ignore - public void constructorIsExecutedOnConstruction() { - } - @Override protected PrimitiveValue evalExpression(List<ClassNode> classes, ExpressionNode expression) { return new CsharpMethodRunner().evalExpression(classes, expression); 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 30a6f2b..011fcd3 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 @@ -198,6 +198,21 @@ public class CsharpSerializerTests { } @Test + public void constructorHasSerializedBody() { + ConstructorNode constructor = ConstructorNode.constructor( + list(formalArg(var(TestIds.ANY_ID, "x", TypeName.of("X")))), + list(expressionStatement(literal(true)))); + ClassNode classNode = ClassNode.builder("com.example.Example") + .constructor(constructor) + .build(); + + String output = serialize(classNode); + + assertEquals( + "namespace Couscous.com.example {\n internal class Example {\n internal Example(Couscous.X x) {\n true;\n }\n }\n}\n", output); + } + + @Test public void classWithFields() { ClassNode classNode = ClassNode.builder("com.example.Example") .field("x", TypeName.of("X")) |
