@Test public void testConstantWildCard() { // no spaces { String[] constantFields = {"*"}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(1); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(1)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); } // // with spaces // { // String[] constantFields = { " * " }; // // TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, // Integer>>(BasicTypeInfo.INT_TYPE_INFO, // BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); // SingleInputSemanticProperties sp = // SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); // // FieldSet fs = sp.getForwardedField(1); // Assert.assertTrue(fs.size() == 1); // Assert.assertTrue(fs.contains(1)); // // fs = sp.getForwardedField(2); // Assert.assertTrue(fs.size() == 1); // Assert.assertTrue(fs.contains(2)); // // fs = sp.getForwardedField(0); // Assert.assertTrue(fs.size() == 1); // Assert.assertTrue(fs.contains(0)); // } }
@Test public void testConstantExceptOneString() { // no spaces { String[] constantFieldsExcept = {"1"}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString( null, constantFieldsExcept, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); Assert.assertNull(sp.getForwardedField(1)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); } // with spaces { String[] constantFieldsExcept = {" 1 "}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString( null, constantFieldsExcept, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); Assert.assertNull(sp.getForwardedField(1)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); } }
@Test public void testConstantWithArrowIndividualStringsSpaces() { String[] constantFields = {" 1-> 1 , 2", "2 ->3"}; TypeInformation<?> type = new TupleTypeInfo<Tuple4<Integer, Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(1); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(1)); Assert.assertTrue(fs.contains(2)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(3)); }
@Test public void testReadFieldsOneString() { // no spaces { String[] readFields = {"1,2"}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(null, null, readFields, type, type); FieldSet fs = sp.getReadFields(); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(2)); Assert.assertTrue(fs.contains(1)); } // with spaces { String[] readFields = {" 1 , 2 "}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(null, null, readFields, type, type); FieldSet fs = sp.getReadFields(); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(2)); Assert.assertTrue(fs.contains(1)); } }
@Test public void testConstantWithArrowOneString() { // narrow (no spaces) { String[] constantFields = {"0->0,1;1->2"}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(0)); Assert.assertTrue(fs.contains(1)); fs = sp.getForwardedField(1); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); } // wide (with spaces) { String[] constantFields = {" 0 -> 0 , 1 ; 1 -> 2 "}; TypeInformation<?> type = new TupleTypeInfo<Tuple3<Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(0)); Assert.assertTrue(fs.contains(1)); fs = sp.getForwardedField(1); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); } }
@Test public void testConstantMixedOneString() { // no spaces { String[] constantFields = {"2,3;0->1,4;4->0"}; TypeInformation<?> type = new TupleTypeInfo<Tuple5<Integer, Integer, Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(1)); Assert.assertTrue(fs.contains(4)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); fs = sp.getForwardedField(3); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(3)); fs = sp.getForwardedField(4); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); } // with spaces { String[] constantFields = {" 2 , 3 ; 0 -> 1 , 4 ; 4 -> 0"}; TypeInformation<?> type = new TupleTypeInfo<Tuple5<Integer, Integer, Integer, Integer, Integer>>( BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO, BasicTypeInfo.INT_TYPE_INFO); SingleInputSemanticProperties sp = SemanticPropUtil.getSemanticPropsSingleFromString(constantFields, null, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 2); Assert.assertTrue(fs.contains(1)); Assert.assertTrue(fs.contains(4)); fs = sp.getForwardedField(2); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(2)); fs = sp.getForwardedField(3); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(3)); fs = sp.getForwardedField(4); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); } }