public static void getSemanticPropsSingleFromString(
            SingleInputSemanticProperties result,
            String[] forwarded,
            String[] nonForwarded,
            String[] readSet,
            TypeInformation<?> inType,
            TypeInformation<?> outType) {
        getSemanticPropsSingleFromString(
                result, forwarded, nonForwarded, readSet, inType, outType, false);
    }
@Test
    void testForwardedRead() {
        String[] forwardedFields = {"f0->f0;f1->f2"};
        String[] readFields = {"f0; f2"};
        SingleInputSemanticProperties sp = new SingleInputSemanticProperties();
        SemanticPropUtil.getSemanticPropsSingleFromString(
                sp, forwardedFields, null, readFields, threeIntTupleType, fiveIntTupleType);

        assertThat(sp.getForwardingTargetFields(0, 0)).contains(0);
        assertThat(sp.getForwardingTargetFields(0, 1)).contains(2);
        assertThat(sp.getReadFields(0)).containsExactly(0, 2);
    }