@Test public void testInvokeWithUnexpectedReturnType() throws Exception { final String code = "module Cantaloupe\n" + "def self.func\n" + "[]\n" + "end\n" + "end"; instance.load(code); String function = "Cantaloupe::func"; try { Map result = (Map) instance.invoke(function); fail("Shouldn't be able to cast an array to a map"); } catch (ClassCastException e) { // pass } }
@Test public void testInvoke() throws Exception { final String code = "module Cantaloupe\n" + "SOMETHING = 1\n" + "def self.func(arg)\n" + "arg\n" + "end\n" + "end"; instance.load(code); final String function = "func"; for (int i = 0; i < 3; i++) { String[] args = {String.valueOf(i)}; String result = (String) instance.invoke(function, args); assertEquals(String.valueOf(i), result); } }