code: def testTrainingRangeOp_InvalidArgumentRaised(self):
      with self.assertRaises(exceptions.InvalidArgument):
          # Two model artifacts.
          test_utils.run_resolver_op(
              ops.TrainingRange,
              [self.model, self.model],
              context=resolver_op.Context(store=self.store),
          )
  
          # Incorret input artifact type.
          test_utils.run_resolver_op(
              ops.TrainingRange,
              [self.transform_graph],
              context=resolver_op.Context(store=self.store),
          )
  
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 9 for calling the TrainingRangeOpTest obj's underlying member method code with example usage: obj.testTrainingRangeOp_InvalidArgumentRaised() without return types