@Test public void testPutNodesWithDuplicateOutputs() { SdkWorkflowBuilder builder = new SdkWorkflowBuilder(); SdkNode node1 = builder.apply("node-1", FAKE_TASK); SdkNode node2 = builder.apply("node-2", FAKE_TASK); IllegalArgumentException e = assertThrows(IllegalArgumentException.class, () -> builder.tupleOf(node1, node2)); assertEquals("Duplicate inputs: [output1]", e.getMessage()); }
public SdkNode apply(String nodeId, SdkTransform transform) { return builder.applyInternal(nodeId, transform, upstreamNodeIds, bindingData); }
SdkBinding { public SdkNode apply(String nodeId, SdkTransform transform) { return builder.applyInternal(nodeId, transform, upstreamNodeIds, bindingData); } }
SdkBinding { public SdkNode apply(String nodeId, SdkTransform transform) { return builder.applyInternal(nodeId, transform, upstreamNodeIds, bindingData); } SdkBinding(
      SdkWorkflowBuilder builder,
      List<String> upstreamNodeIds,
      Map<String, SdkBindingData> bindingData); }
SdkBinding { public SdkNode apply(String nodeId, SdkTransform transform) { return builder.applyInternal(nodeId, transform, upstreamNodeIds, bindingData); } SdkBinding(
      SdkWorkflowBuilder builder,
      List<String> upstreamNodeIds,
      Map<String, SdkBindingData> bindingData); SdkNode apply(String nodeId, SdkTransform transform); static Builder builder(SdkWorkflowBuilder workflowBuilder); }
SdkBinding { public SdkNode apply(String nodeId, SdkTransform transform) { return builder.applyInternal(nodeId, transform, upstreamNodeIds, bindingData); } SdkBinding(
      SdkWorkflowBuilder builder,
      List<String> upstreamNodeIds,
      Map<String, SdkBindingData> bindingData); SdkNode apply(String nodeId, SdkTransform transform); static Builder builder(SdkWorkflowBuilder workflowBuilder);  }