@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 testConstantWithArrowIndividualStrings() { // 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)); } // 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 testConstantExceptSingleString() { // no spaces { String[] constantFieldsExcept = {"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, constantFieldsExcept, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); Assert.assertNull(sp.getForwardedField(1)); Assert.assertNull(sp.getForwardedField(2)); } // with spaces { String[] constantFieldsExcept = {" 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, constantFieldsExcept, null, type, type); FieldSet fs = sp.getForwardedField(0); Assert.assertTrue(fs.size() == 1); Assert.assertTrue(fs.contains(0)); Assert.assertNull(sp.getForwardedField(1)); Assert.assertNull(sp.getForwardedField(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)); } }