@Test public void testBasic() throws Exception { ScriptEvaluator script = new ScriptEvaluator(javaImports, "return x * 2; ", Integer.class, new String[] { "x" }, new Class[] { Integer.class }, new Class[] {RuntimeException.class, IOException.class}, "myQuery"); Object result = script.evaluate(new Object[] { new Integer(1) }); assertEquals(result, new Integer(2)); }
@Test public void testExternalObject() throws Exception { ArrayListMultimap.create(); ScriptEvaluator script = new ScriptEvaluator( javaImports, "com.google.common.collect.ArrayListMultimap.create(); new org.kitesdk.morphline.api.Record(); return x.copy(); ", Record.class, new String[] { "x" }, new Class[] { Record.class }, "myQuery"); Object result = script.evaluate(new Object[] { new Record() }); assertEquals(result, new Record()); assertTrue(result != new Record()); }
@Test public void testVoid() throws Exception { ScriptEvaluator script = new ScriptEvaluator(javaImports, "int foo = 0; ", Void.class, new String[] { "x" }, new Class[] { Integer.class }, "myQuery"); Object result = script.evaluate(new Object[] { new Integer(1) }); assertNull(result); }
@Test public void testArray() throws Exception { ScriptEvaluator script = new ScriptEvaluator(javaImports, "return x; ", Integer[].class, new String[] { "x" }, new Class[] { Integer[].class }, "myQuery"); Object result = script.evaluate(new Object[] { new Integer[] { new Integer(1) }}); assertEquals(((Integer[]) result)[0], new Integer(1)); }