1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/test/java/org/apidesign/java4browser/InstanceTest.java Sat Sep 15 22:12:49 2012 +0200
1.3 @@ -0,0 +1,47 @@
1.4 +/*
1.5 + * To change this template, choose Tools | Templates
1.6 + * and open the template in the editor.
1.7 + */
1.8 +package org.apidesign.java4browser;
1.9 +
1.10 +import javax.script.Invocable;
1.11 +import javax.script.ScriptException;
1.12 +import org.testng.annotations.Test;
1.13 +import static org.testng.Assert.*;
1.14 +
1.15 +/**
1.16 + *
1.17 + * @author Jaroslav Tulach <jtulach@netbeans.org>
1.18 + */
1.19 +public class InstanceTest {
1.20 + @Test public void verifyMagicOne() throws Exception {
1.21 + assertExec(
1.22 + "Should be seven",
1.23 + "org_apidesign_java4browser_Instance_magicOneD",
1.24 + Double.valueOf(3.3)
1.25 + );
1.26 + }
1.27 +
1.28 + private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception {
1.29 + StringBuilder sb = new StringBuilder();
1.30 + Invocable i = StaticMethodTest.compileClass("Instance.class", sb);
1.31 +
1.32 + Object ret = null;
1.33 + try {
1.34 + ret = i.invokeFunction(methodName, args);
1.35 + } catch (ScriptException ex) {
1.36 + fail("Execution failed in " + sb, ex);
1.37 + } catch (NoSuchMethodException ex) {
1.38 + fail("Cannot find method in " + sb, ex);
1.39 + }
1.40 + if (ret == null && expRes == null) {
1.41 + return;
1.42 + }
1.43 + if (expRes.equals(ret)) {
1.44 + return;
1.45 + }
1.46 + assertEquals(ret, expRes, msg + "was: " + ret + "\n" + sb);
1.47 +
1.48 + }
1.49 +
1.50 +}