@Test
public void testForwardedReadDual() {

	String[] forwardedFieldsFirst = { "f1->f2; f2->f3" };
	String[] forwardedFieldsSecond = { "f1->f1; f2->f0" };
	String[] readFieldsFirst = {"0;2"};
	String[] readFieldsSecond = {"1"};
	DualInputSemanticProperties dsp = new DualInputSemanticProperties();
	SemanticPropUtil.getSemanticPropsDualFromString(dsp, forwardedFieldsFirst, forwardedFieldsSecond, null,
			null, readFieldsFirst, readFieldsSecond, fourIntTupleType, fourIntTupleType, fourIntTupleType);
	assertTrue(dsp.getForwardingTargetFields(0, 1).contains(2));
	assertTrue(dsp.getForwardingTargetFields(0, 2).contains(3));
	assertTrue(dsp.getForwardingTargetFields(1, 1).contains(1));
	assertTrue(dsp.getForwardingTargetFields(1, 2).contains(0));
	assertTrue(dsp.getForwardingTargetFields(0, 0).size() == 0);
	assertTrue(dsp.getForwardingTargetFields(1, 3).size() == 0);
	assertTrue(dsp.getReadFields(0).size() == 2);
	assertTrue(dsp.getReadFields(0).contains(0));
	assertTrue(dsp.getReadFields(0).contains(2));
	assertTrue(dsp.getReadFields(1).size() == 1);
	assertTrue(dsp.getReadFields(1).contains(1));
}