From e512a23e1b2ed73239db9692184f71a982362477 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 31 Oct 2015 16:22:50 +0000 Subject: Add proper test for reference type equality --- .../org/zwobble/couscous/tests/JavaToPythonTests.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') 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 -- cgit v1.2.3