code: def setUp(self):
      super().setUp()
      self.init_mlmd()
  
      self.spans_and_versions = [(1, 0), (2, 0), (3, 0)]
      self.examples = self.create_examples(self.spans_and_versions)
      self.transform_graph = self.transform_examples(self.examples)
  
      # Train using the Examples and TransformGraph. The TFTrainer will output a
      # Model and a ModelRunPath.
      self.model = self.prepare_tfx_artifact(test_utils.Model)
      self.model_run = self.prepare_tfx_artifact(test_utils.ModelRun)
      self.put_execution(
          "TFTrainer",
          inputs={
              "examples": self.unwrap_tfx_artifacts(self.examples),
              "transform_graph": self.unwrap_tfx_artifacts(
                  [self.transform_graph]
              ),
          },
          outputs={
              "model": self.unwrap_tfx_artifacts([self.model]),
              "model_run": self.unwrap_tfx_artifacts([self.model_run]),
          },
      )
  
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 3 for calling the SiblingsOpTest obj's underlying member method code with example usage: obj.setUp() without return types