aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
index 7493b55..e5a6bf7 100644
--- a/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/JavaToPythonTests.java
@@ -1,6 +1,7 @@
package org.zwobble.couscous.tests;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.List;
import org.junit.Test;
@@ -33,12 +34,17 @@ public class JavaToPythonTests {
@Test
public void equalityOnReferenceTypesChecksForIdentity() {
assertEquals(value(false), evalExpression("new Object() == new Object()"));
+ assertEquals(value(true), exec("Object x = new Object(); return x == x;"));
}
- private PrimitiveValue evalExpression(String expressionSource) {
+ private PrimitiveValue exec(String source) {
try {
- final java.lang.String javaClass = "package com.example;" + "public class Example {" + " public static Object main() {" + " return " + expressionSource + ";" + " }" + "}";
- final java.nio.file.Path directoryPath = Files.createTempDirectory(null);
+ String javaClass =
+ "package com.example;" +
+ "public class Example {" +
+ " public static Object main() {" + source + "}" +
+ "}";
+ Path directoryPath = Files.createTempDirectory(null);
try {
Files.createDirectories(directoryPath.resolve("com/example"));
Files.write(directoryPath.resolve("com/example/Example.java"), asList(javaClass));
@@ -51,4 +57,8 @@ public class JavaToPythonTests {
throw new RuntimeException($ex);
}
}
+
+ private PrimitiveValue evalExpression(String expressionSource) {
+ return exec("return " + expressionSource + ";");
+ }
} \ No newline at end of file