code: def testTrainingRangeOp_MultipleModels(self):
      model_1 = self.prepare_tfx_artifact(test_utils.Model)
      self.train_on_examples(
          model_1, self.examples[:5], self.transform_graph
      )
  
      model_2 = self.prepare_tfx_artifact(test_utils.Model)
      self.train_on_examples(
          model_2, self.examples[5:], self.transform_graph
      )
  
      actual_1 = self._training_range([model_1])
      self.assertArtifactListEqual(actual_1, self.examples[:5])
  
      actual_2 = self._training_range([model_2])
      self.assertArtifactListEqual(actual_2, self.examples[5:])
  
imports: from typing import List
  import tensorflow
  from tfx import types
  from tfx.dsl.input_resolution import resolver_op
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.orchestration.portable.input_resolution import exceptions
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 5 for calling the TrainingRangeOpTest obj's underlying member method code with example usage: obj.testTrainingRangeOp_MultipleModels() without return types