source: class SemanticPropUtilTest {
  
  	@Test
  	public void testConstantWithArrowOneString() {
  
target: 		// 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));
  		}
  	}
  
  }