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.java42
1 files changed, 42 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
new file mode 100644
index 0000000..39e0e8f
--- /dev/null
+++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java
@@ -0,0 +1,42 @@
+package org.zwobble.couscous.tests.backends.csharp;
+
+import org.junit.Test;
+import org.zwobble.couscous.ast.Node;
+import org.zwobble.couscous.ast.TypeName;
+import org.zwobble.couscous.backends.csharp.CsharpSerializer;
+
+import static org.junit.Assert.assertEquals;
+import static org.zwobble.couscous.ast.LiteralNode.literal;
+
+public class CsharpSerializerTests {
+ @Test
+ public void integerLiterals() {
+ String output = serialize(literal(42));
+ assertEquals("42", output);
+ }
+
+ @Test
+ public void booleanLiterals() {
+ String trueOutput = serialize(literal(true));
+ assertEquals("true", trueOutput);
+
+ String falseOutput = serialize(literal(false));
+ assertEquals("false", falseOutput);
+ }
+
+ @Test
+ public void stringLiteralsUseDoubleQuotes() {
+ String output = serialize(literal("blah"));
+ assertEquals("\"blah\"", output);
+ }
+
+ @Test
+ public void typeLiteralUsesTypeOfOperator() {
+ String output = serialize(literal(TypeName.of("com.example.Example")));
+ assertEquals("typeof(Couscous.com.example.Example)", output);
+ }
+
+ private String serialize(Node node) {
+ return CsharpSerializer.serialize(node, "Couscous");
+ }
+}