code: def testSiblings_DescendantArtifactsNotConsideredSiblings(self):
      # Based on:
      #
      # digraph {
      #   artifact_1 -> execution_1
      #   execution_1 -> {artifact_2, root_artifact}
      #   root_artifact -> execution_2 -> artifact_3
      # }
  
      artifact_1 = self.prepare_tfx_artifact(test_utils.DummyArtifact)
      artifact_2 = self.prepare_tfx_artifact(test_utils.DummyArtifact)
      artifact_3 = self.prepare_tfx_artifact(test_utils.DummyArtifact)
      root_artifact = self.prepare_tfx_artifact(
          test_utils.DummyArtifact
      )
  
      self.put_execution(
          "ComponentA",
          inputs={
              "input_1": self.unwrap_tfx_artifacts([artifact_1]),
          },
          outputs={
              "output_1": self.unwrap_tfx_artifacts([artifact_2]),
              "output_2": self.unwrap_tfx_artifacts([root_artifact]),
          },
      )
  
      self.put_execution(
          "ComponentB",
          inputs={
              "input_1": self.unwrap_tfx_artifacts([root_artifact]),
          },
          outputs={
              "output_1": self.unwrap_tfx_artifacts([artifact_3]),
          },
      )
  
      result = self._siblings(
          root_artifact,
      )
      self.assertArtifactMapsEqual(
          result,
          {
              "root_artifact": [root_artifact],
              "output_1": [artifact_2],
          },
      )
  
      result = self._siblings(
          artifact_2,
      )
      self.assertArtifactMapsEqual(
          result,
          {
              "root_artifact": [artifact_2],
              "output_2": [root_artifact],
          },
      )
  
file_path: tfx/tfx/dsl/input_resolution/ops/siblings_op_test.py
imports: from typing import Sequence
  import tensorflow
  from tfx import types
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
label_desc: Use image node_id 11 for calling the SiblingsOpTest obj's underlying member method code with example usage: obj.testSiblings_DescendantArtifactsNotConsideredSiblings() without return types