diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-28 21:33:45 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-28 21:33:45 +0100 |
| commit | 7a7512ba6e9e428e82efee057fa1aa3056bf231d (patch) | |
| tree | 4d33a0a3aeb3b9cdcb38cdd5e76aa8b8318de4c2 /src/test/java/org | |
| parent | 5f852c33a8a57bd8fad58747b339961ac6c835ef (diff) | |
Parenthesize expressions in C# serializer
Diffstat (limited to 'src/test/java/org')
| -rw-r--r-- | src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java | 10 |
1 files changed, 9 insertions, 1 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 8d4246a..fda3980 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,6 +26,8 @@ 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.ReturnNode.returns; import static org.zwobble.couscous.ast.TernaryConditionalNode.ternaryConditional; @@ -189,11 +191,17 @@ public class CsharpSerializerTests { @Test public void infixOperation() { - String output = serialize(Operations.integerAdd(literal(1), literal(2))); + String output = serialize(integerAdd(literal(1), literal(2))); assertEquals("1 + 2", 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)))); + } + + @Test public void fieldAccessSeparatesReceiverAndNameWithDot() { String output = serialize(fieldAccess( reference(var(TestIds.ANY_ID, "x", ScalarType.of("X"))), |
