aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble/couscous/tests/backends/python
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
commit166a205aeb4c595b40b8ffe4c7d745b13031e3b3 (patch)
treeaa493482f4ca312c1f23913ebc2f57b71d8aa590 /src/test/java/org/zwobble/couscous/tests/backends/python
parent44e4b877baea47c0465e1029bdbedc848381999f (diff)
Add support for static method calls to Python backend
Diffstat (limited to 'src/test/java/org/zwobble/couscous/tests/backends/python')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/python/PythonMethodRunner.java4
-rw-r--r--src/test/java/org/zwobble/couscous/tests/backends/python/PythonSerializerTests.java7
2 files changed, 9 insertions, 2 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonMethodRunner.java b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonMethodRunner.java
index 549fb51..cd15b24 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonMethodRunner.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonMethodRunner.java
@@ -33,10 +33,10 @@ public class PythonMethodRunner implements MethodRunner {
ClassNode classNode,
String methodName,
List<PrimitiveValue> arguments) {
- val compiler = new PythonCompiler();
val directoryPath = Files.createTempDirectory(null);
+ val compiler = new PythonCompiler(directoryPath);
try {
- compiler.compile(asList(classNode), directoryPath);
+ compiler.compile(asList(classNode));
val argumentsString = Joiner.on(", ").join(arguments.stream()
.map(PythonCodeGenerator::generateCode)
diff --git a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonSerializerTests.java b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonSerializerTests.java
index 2f6d856..ecd5d7c 100644
--- a/src/test/java/org/zwobble/couscous/tests/backends/python/PythonSerializerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/backends/python/PythonSerializerTests.java
@@ -13,6 +13,7 @@ import static org.zwobble.couscous.backends.python.ast.PythonBooleanLiteralNode.
import static org.zwobble.couscous.backends.python.ast.PythonCallNode.pythonCall;
import static org.zwobble.couscous.backends.python.ast.PythonConditionalExpressionNode.pythonConditionalExpression;
import static org.zwobble.couscous.backends.python.ast.PythonGetSliceNode.pythonGetSlice;
+import static org.zwobble.couscous.backends.python.ast.PythonImportNode.pythonImport;
import static org.zwobble.couscous.backends.python.ast.PythonIntegerLiteralNode.pythonIntegerLiteral;
import static org.zwobble.couscous.backends.python.ast.PythonModuleNode.pythonModule;
import static org.zwobble.couscous.backends.python.ast.PythonPassNode.PASS;
@@ -145,6 +146,12 @@ public class PythonSerializerTests {
}
@Test
+ public void importIsSerializedUsingImportKeyword() {
+ val output = serialize(pythonImport("com.example.Program"));
+ assertEquals("import com.example.Program\n", output);
+ }
+
+ @Test
public void moduleIsSerializedStatements() {
val classNode = pythonModule(asList(PASS));
val output = serialize(classNode);