2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
5 package org.apidesign.java4browser;
7 import javax.script.Invocable;
8 import javax.script.ScriptException;
9 import org.testng.annotations.Test;
10 import static org.testng.Assert.*;
14 * @author Jaroslav Tulach <jtulach@netbeans.org>
16 public class InstanceTest {
17 @Test public void verifyDefaultDoubleValue() throws Exception {
20 "org_apidesign_java4browser_Instance_defaultDblValueD",
24 @Test public void verifyAssignedByteValue() throws Exception {
26 "Will one thirty one",
27 "org_apidesign_java4browser_Instance_assignedByteValueB",
31 @Test public void verifyMagicOne() throws Exception {
33 "Should be three and something",
34 "org_apidesign_java4browser_Instance_magicOneD",
38 @Test public void verifyInstanceMethods() throws Exception {
40 "Should be eleven as we invoke overwritten method, plus 44",
41 "org_apidesign_java4browser_Instance_virtualBytesI",
45 @Test public void verifyInterfaceMethods() throws Exception {
47 "Retruns default value",
48 "org_apidesign_java4browser_Instance_interfaceBytesF",
53 private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception {
54 StringBuilder sb = new StringBuilder();
55 Invocable i = StaticMethodTest.compileClass(sb, "Instance.class", "InstanceSub.class");
59 ret = i.invokeFunction(methodName, args);
60 } catch (ScriptException ex) {
61 fail("Execution failed in " + sb, ex);
62 } catch (NoSuchMethodException ex) {
63 fail("Cannot find method in " + sb, ex);
65 if (ret == null && expRes == null) {
68 if (expRes.equals(ret)) {
71 assertEquals(ret, expRes, msg + "was: " + ret + "\n" + sb);