From 7a7512ba6e9e428e82efee057fa1aa3056bf231d Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 28 Apr 2016 21:33:45 +0100 Subject: Parenthesize expressions in C# serializer --- .../couscous/tests/backends/csharp/CsharpSerializerTests.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/test/java/org/zwobble') 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,10 +191,16 @@ 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( -- cgit v1.2.3