code: def testSiblingsSameOutputArtifactType_DifferentOutputKeys(self):
      data_snapshot = self.create_examples(self.spans_and_versions)
      validation_examples = self.create_examples(
          self.spans_and_versions
      )
      output_model = self.prepare_tfx_artifact(test_utils.Model)
  
      self.put_execution(
          "Component",
          inputs={
              "input_model": self.unwrap_tfx_artifacts([self.model]),
          },
          outputs={
              "output_model": self.unwrap_tfx_artifacts([output_model]),
              "data_snapshot": self.unwrap_tfx_artifacts(data_snapshot),
              "validation_examples": self.unwrap_tfx_artifacts(
                  validation_examples
              ),
          },
      )
  
      # Multiple keys.
      result = self._siblings(
          data_snapshot[0],
          output_keys=[
              "validation_examples",
          ],
      )
      self.assertArtifactMapsEqual(
          result,
          {
              "root_artifact": [data_snapshot[0]],
              "validation_examples": validation_examples,
          },
      )
  
      # No output keys.
      result = self._siblings(
          output_model,
      )
      self.assertArtifactMapsEqual(
          result,
          {
              "root_artifact": [output_model],
              "data_snapshot": data_snapshot,
              "validation_examples": validation_examples,
          },
      )
  
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 10 for calling the SiblingsOpTest obj's underlying member method code with example usage: obj.testSiblingsSameOutputArtifactType_DifferentOutputKeys() without return types