diff -r b9318fe303cd -r e8438996d406 vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java --- a/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Mon Sep 24 11:07:38 2012 +0200 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/ArrayTest.java Thu Oct 11 10:43:17 2012 -0700 @@ -21,6 +21,7 @@ import javax.script.ScriptException; import org.testng.annotations.Test; import static org.testng.Assert.*; +import org.testng.annotations.BeforeClass; /** * @@ -28,7 +29,7 @@ */ public class ArrayTest { @Test public void verifySimpleIntOperation() throws Exception { - assertExec("CheckTheSum", "org_apidesign_vm4brwsr_Array_simpleI", + assertExec("CheckTheSum", "org_apidesign_vm4brwsr_Array_simpleI", Double.valueOf(15) ); } @@ -38,19 +39,25 @@ ); } - private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception { + private static CharSequence codeSeq; + private static Invocable code; + + @BeforeClass + public void compileTheCode() throws Exception { StringBuilder sb = new StringBuilder(); - Invocable i = StaticMethodTest.compileClass(sb, + code = StaticMethodTest.compileClass(sb, "org/apidesign/vm4brwsr/Array" ); - + codeSeq = sb; + } + private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception { Object ret = null; try { - ret = i.invokeFunction(methodName, args); + ret = code.invokeFunction(methodName, args); } catch (ScriptException ex) { - fail("Execution failed in " + sb, ex); + fail("Execution failed in\n" + codeSeq, ex); } catch (NoSuchMethodException ex) { - fail("Cannot find method in " + sb, ex); + fail("Cannot find method in\n" + codeSeq, ex); } if (ret == null && expRes == null) { return; @@ -58,6 +65,6 @@ if (expRes.equals(ret)) { return; } - assertEquals(ret, expRes, msg + "was: " + ret + "\n" + sb); + assertEquals(ret, expRes, msg + "was: " + ret + "\n" + codeSeq); } }