code: def testMakeOutputSplitNamesWithParameter(self):
      split_name_param = data_types.RuntimeParameter(
          name="split-name", ptype=str, default="train"
      )
      split_names = utils.generate_output_split_names(
          input_config={
              "splits": [
                  {"name": split_name_param, "pattern": "train/*"},
                  {"name": "eval", "pattern": "eval/*"},
              ]
          },
          output_config=example_gen_pb2.Output(),
      )
      # Assert the json serialized version because RuntimeParameters only get
      # serialized after that.
      self.assertEqual(
          json_utils.dumps([split_name_param, "eval"]),
          json_utils.dumps(split_names),
      )
  
      split_names = utils.generate_output_split_names(
          input_config=example_gen_pb2.Input(
              splits=[
                  example_gen_pb2.Input.Split(
                      name="single", pattern="single/*"
                  )
              ]
          ),
          output_config={
              "split_config": {
                  "splits": [
                      {"name": split_name_param, "hash_buckets": 2},
                      {"name": "eval", "hash_buckets": 1},
                  ]
              }
          },
      )
      # Assert the json serialized version because RuntimeParameters only get
      # serialized after that.
      self.assertEqual(
          json_utils.dumps([split_name_param, "eval"]),
          json_utils.dumps(split_names),
      )
  
imports: import os
  import re
  import tensorflow
  from tfx.components.example_gen import utils
  from tfx.dsl.io import fileio
  from tfx.orchestration import data_types
  from tfx.proto import example_gen_pb2
  from tfx.proto import range_config_pb2
  from tfx.utils import io_utils
  from tfx.utils import json_utils
label_desc: Use image node_id 5 for calling the UtilsTest obj's underlying member method code with example usage: obj.testMakeOutputSplitNamesWithParameter() without return types