From 54cff9ee73eadd200c6793c5d2a520f76e1aba4f Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Fri, 17 Jun 2016 21:36:44 +0100 Subject: Support instanceof in C# backend --- .../java/org/zwobble/couscous/tests/ValueObjectTests.java | 1 + .../tests/backends/csharp/CsharpSerializerTests.java | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src/test') 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; @@ -195,6 +193,14 @@ public class CsharpSerializerTests { assertEquals("1 + 2", output); } + @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))))); -- cgit v1.2.3