@Test public void testSimpleScriptTyped() { Class returnType = Long.class; String[] names = new String[]{"a", "b"}; Class[] types = new Class[]{long.class, int.class}; assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", returnType, getEntry( names, types, 1L, 2 ) ) ); returnType = Double.class; types = new Class[]{double.class, int.class}; assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", returnType, getEntry( names, types, 1.0d, 2 ) ) ); returnType = Boolean.TYPE; names = new String[]{"a", "b"}; types = new Class[]{String.class, float.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple((a != null) && (b > 0));", returnType, getEntry( names, types, "1", 2.0 ) ) ); names = new String[]{"$0", "$1"}; types = new Class[]{String.class, float.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(($0 != null) && ($1 > 0));", returnType, getEntry( names, types, "1", 2.0 ) ) ); names = new String[]{"a", "b", "c"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && c.equals(\"2\"));", returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); names = new String[]{"a", "b", "$2"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && $2.equals(\"2\"));", returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); String script = ""; script += "boolean first = b.equals(\"1\");\n"; script += "return cascading.tuple.Tuples.tuple(first && (a == 2.0) && $2.equals(\"2\"));\n"; assertEquals( new Tuple( true ), evaluate( script, returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); }
@Test public void testSimpleScript() { String[] names = new String[]{"a", "b"}; Class[] types = new Class[]{long.class, int.class}; assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1, 2 ) ) ); assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1.0, 2.0 ) ) ); assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( "1", 2.0 ) ) ); types = new Class[]{double.class, int.class}; assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1, 2 ) ) ); assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1.0, 2.0 ) ) ); assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"a", "b"}; types = new Class[]{String.class, int.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple((a != null) && (b > 0));", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"$0", "$1"}; types = new Class[]{String.class, int.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(($0 != null) && ($1 > 0));", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"a", "b", "c"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && c.equals(\"2\"));", names, types, getEntry( 2.0, "1", "2" ) ) ); names = new String[]{"a", "b", "$2"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && $2.equals(\"2\"));", names, types, getEntry( 2.0, "1", "2" ) ) ); String script = ""; script += "boolean first = b.equals(\"1\");\n"; script += "return cascading.tuple.Tuples.tuple(first && (a == 2.0) && $2.equals(\"2\"));\n"; assertEquals( new Tuple( true ), evaluate( script, names, types, getEntry( 2.0, "1", "2" ) ) ); }
@Test public void testSimpleScript() { String[] names = new String[]{"a", "b"}; Class[] types = new Class[]{long.class, int.class}; assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1, 2 ) ) ); assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1.0, 2.0 ) ) ); assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( "1", 2.0 ) ) ); types = new Class[]{double.class, int.class}; assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1, 2 ) ) ); assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( 1.0, 2.0 ) ) ); assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"a", "b"}; types = new Class[]{String.class, int.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple((a != null) && (b > 0));", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"$0", "$1"}; types = new Class[]{String.class, int.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(($0 != null) && ($1 > 0));", names, types, getEntry( "1", 2.0 ) ) ); names = new String[]{"a", "b", "c"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && c.equals(\"2\"));", names, types, getEntry( 2.0, "1", "2" ) ) ); names = new String[]{"a", "b", "$2"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && $2.equals(\"2\"));", names, types, getEntry( 2.0, "1", "2" ) ) ); String script = ""; script += "boolean first = b.equals(\"1\");\n"; script += "return cascading.tuple.Tuples.tuple(first && (a == 2.0) && $2.equals(\"2\"));\n"; assertEquals( new Tuple( true ), evaluate( script, names, types, getEntry( 2.0, "1", "2" ) ) ); }
@Test public void testSimpleScriptTyped() { Class returnType = Long.class; String[] names = new String[]{"a", "b"}; Class[] types = new Class[]{long.class, int.class}; assertEquals( new Tuple( 3l ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", returnType, getEntry( names, types, 1L, 2 ) ) ); returnType = Double.class; types = new Class[]{double.class, int.class}; assertEquals( new Tuple( 3d ), evaluate( "return cascading.tuple.Tuples.tuple(a + b);", returnType, getEntry( names, types, 1.0d, 2 ) ) ); returnType = Boolean.TYPE; names = new String[]{"a", "b"}; types = new Class[]{String.class, float.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple((a != null) && (b > 0));", returnType, getEntry( names, types, "1", 2.0 ) ) ); names = new String[]{"$0", "$1"}; types = new Class[]{String.class, float.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(($0 != null) && ($1 > 0));", returnType, getEntry( names, types, "1", 2.0 ) ) ); names = new String[]{"a", "b", "c"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && c.equals(\"2\"));", returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); names = new String[]{"a", "b", "$2"}; types = new Class[]{float.class, String.class, String.class}; assertEquals( new Tuple( true ), evaluate( "return cascading.tuple.Tuples.tuple(b.equals(\"1\") && (a == 2.0) && $2.equals(\"2\"));", returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); String script = ""; script += "boolean first = b.equals(\"1\");\n"; script += "return cascading.tuple.Tuples.tuple(first && (a == 2.0) && $2.equals(\"2\"));\n"; assertEquals( new Tuple( true ), evaluate( script, returnType, getEntry( names, types, 2.0, "1", "2" ) ) ); }