aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java18
1 files changed, 18 insertions, 0 deletions
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 95696c7..8c3162b 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
@@ -14,6 +14,7 @@ import static org.zwobble.couscous.ast.MethodCallNode.methodCall;
import static org.zwobble.couscous.ast.MethodCallNode.staticMethodCall;
import static org.zwobble.couscous.ast.ReturnNode.returns;
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.util.ExtraLists.list;
@@ -53,6 +54,12 @@ public class CsharpSerializerTests {
}
@Test
+ public void thisReferenceUsesThisKeyword() {
+ String output = serialize(thisReference(TypeName.of("X")));
+ assertEquals("this", output);
+ }
+
+ @Test
public void ternaryConditionalWritesConditionAndBranches() {
String output = serialize(ternaryConditional(literal(true), literal(1), literal(2)));
assertEquals("true ? 1 : 2", output);
@@ -173,6 +180,17 @@ public class CsharpSerializerTests {
assertEquals("namespace Couscous.com.example {\n internal class Example {\n }\n}\n", output);
}
+ @Test
+ public void classWithFields() {
+ ClassNode classNode = ClassNode.builder("com.example.Example")
+ .field("x", TypeName.of("X"))
+ .build();
+
+ String output = serialize(classNode);
+
+ assertEquals("namespace Couscous.com.example {\n internal class Example {\n internal Couscous.X x;\n }\n}\n", output);
+ }
+
private String serialize(Node node) {
return CsharpSerializer.serialize(node, "Couscous");
}