void makeAsFarAs(ExecNode<?> a, ExecNode<?> b) {
        TopologyNode nodeA = getOrCreateTopologyNode(a);
        TopologyNode nodeB = getOrCreateTopologyNode(b);

        for (TopologyNode input : nodeB.inputs) {
            link(input.execNode, nodeA.execNode);
        }
    }
@Test
    void testMakeAsFarAs() {
        Tuple2<TopologyGraph, TestingBatchExecNode[]> tuple2 = buildTopologyGraph();
        TopologyGraph graph = tuple2.f0;
        TestingBatchExecNode[] nodes = tuple2.f1;

        graph.makeAsFarAs(nodes[4], nodes[7]);
        Map<ExecNode<?>, Integer> distances = graph.calculateMaximumDistance();
        assertThat(distances.get(nodes[7]).intValue()).isEqualTo(4);
        assertThat(distances.get(nodes[4]).intValue()).isEqualTo(4);
    }