@Test public void testAndExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); And logic = new And( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); } }
@Test public void testOrExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); Or logic = new Or( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); }
@Test public void testXorExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); Xor logic = new Xor( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); }
@Test public void testOrExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); Or logic = new Or( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); }
@Test public void testXorExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); Xor logic = new Xor( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); }
@Test public void testAndExpression() { Fields inputFields = new Fields( "a", "b" ); ExpressionFilter f1 = new ExpressionFilter( "( 100f < a )", new String[]{"a"}, new Class<?>[]{Float.TYPE} ); ExpressionFilter f2 = new ExpressionFilter( "( 100f < b )", new String[]{"b"}, new Class<?>[]{Float.TYPE} ); And logic = new And( new Fields( "a" ), f1, new Fields( "b" ), f2 ); boolean[] results = invokeFilter( logic, new TupleEntry[]{ new TupleEntry( inputFields, new Tuple( "1", "10" ) ), new TupleEntry( inputFields, new Tuple( "2", "20" ) ) } ); assertFalse( results[ 0 ] ); assertFalse( results[ 1 ] ); } }