aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-06-17 21:36:44 +0100
committerMichael Williamson <mike@zwobble.org>2016-06-17 21:36:54 +0100
commit54cff9ee73eadd200c6793c5d2a520f76e1aba4f (patch)
treeecf80cb2b239c351673d35ba7a727efaa9ee9b85 /src/test/java/org
parent65371fd16808d9c8f34d0e0cd2ba030bcc6a7128 (diff)
Support instanceof in C# backend
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java1
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java12
2 files changed, 10 insertions, 3 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
index f6096f8..dbdd483 100644
--- a/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/ValueObjectTests.java
@@ -57,6 +57,7 @@ public class ValueObjectTests {
{FormalArgumentNode.class},
{FormalTypeParameterNode.class},
{IfStatementNode.class},
+ {InstanceOfNode.class},
{InstanceReceiver.class},
{InterfaceNode.class},
{LiteralNode.class},
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 fda3980..3cb723e 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
@@ -26,9 +26,7 @@ import static org.zwobble.couscous.ast.LocalVariableDeclarationNode.localVariabl
import static org.zwobble.couscous.ast.MethodCallNode.methodCall;
import static org.zwobble.couscous.ast.MethodCallNode.staticMethodCall;
import static org.zwobble.couscous.ast.MethodSignature.signature;
-import static org.zwobble.couscous.ast.Operations.integerAdd;
-import static org.zwobble.couscous.ast.Operations.integerMultiply;
-import static org.zwobble.couscous.ast.Operations.not;
+import static org.zwobble.couscous.ast.Operations.*;
import static org.zwobble.couscous.ast.ReturnNode.returns;
import static org.zwobble.couscous.ast.TernaryConditionalNode.ternaryConditional;
import static org.zwobble.couscous.ast.ThisReferenceNode.thisReference;
@@ -196,6 +194,14 @@ public class CsharpSerializerTests {
}
@Test
+ public void instanceOfIsWrittenUsingIsOperator() {
+ String output = serialize(instanceOf(
+ reference(var(TestIds.ANY_ID, "x", Types.OBJECT)),
+ ScalarType.of("X")));
+ assertEquals("x is X", output);
+ }
+
+ @Test
public void infixOperationIsBracketedWhenNecessary() {
assertEquals("1 + 2 * 3", serialize(integerAdd(literal(1), integerMultiply(literal(2), literal(3)))));
assertEquals("(1 + 2) * 3", serialize(integerMultiply(integerAdd(literal(1), literal(2)), literal(3))));