Plan plan = env.createProgramPlan();
GenericDataSinkBase<?> sink = plan.getDataSinks().iterator().next();
CrossOperatorBase<?, ?, ?, ?> projectCrossOperator = ((CrossOperatorBase<?, ?, ?, ?>) sink.getInput());
DualInputSemanticProperties props = projectCrossOperator.getSemanticProperties();
assertTrue(props.getForwardedField1(2).size() == 1);
assertTrue(props.getForwardedField1(3).size() == 1);
assertTrue(props.getForwardedField2(1).size() == 1);
assertTrue(props.getForwardedField2(4).size() == 1);
assertTrue(props.getForwardedField1(2).contains(0));
assertTrue(props.getForwardedField1(3).contains(1));
assertTrue(props.getForwardedField2(1).contains(2));
assertTrue(props.getForwardedField2(4).contains(3));
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
fail("Exception in test: " + e.getMessage());
}