code: def testSetParameterValue(self):
      actual_int = pipeline_pb2.Value()
      expected_int = text_format.Parse(
          """
            field_value {
              int_value: 1
            }
          """,
          pipeline_pb2.Value(),
      )
      self.assertEqual(
          expected_int,
          data_types_utils.set_parameter_value(actual_int, 1),
      )
  
      actual_str = pipeline_pb2.Value()
      expected_str = text_format.Parse(
          """
            field_value {
              string_value: 'hello'
            }
          """,
          pipeline_pb2.Value(),
      )
      self.assertEqual(
          expected_str,
          data_types_utils.set_parameter_value(actual_str, "hello"),
      )
  
      actual_bool = pipeline_pb2.Value()
      expected_bool = text_format.Parse(
          """
            field_value {
              string_value: 'true'
            }
            schema {
              value_type {
                boolean_type {}
              }
            }
          """,
          pipeline_pb2.Value(),
      )
      self.assertEqual(
          expected_bool,
          data_types_utils.set_parameter_value(actual_bool, True),
      )
  
      actual_proto = pipeline_pb2.Value()
      expected_proto = text_format.Parse(
          """
            field_value {
              string_value: '{\\n  "string_value": "hello"\\n}'
            }
            schema {
              value_type {
                proto_type {
                  message_type: 'ml_metadata.Value'
                }
              }
            }
          """,
          pipeline_pb2.Value(),
      )
      data_types_utils.set_parameter_value(
          actual_proto, metadata_store_pb2.Value(string_value="hello")
      )
      actual_proto.schema.value_type.proto_type.ClearField(
          "file_descriptors"
      )
      self.assertProtoPartiallyEquals(expected_proto, actual_proto)
  
      actual_list = pipeline_pb2.Value()
      expected_list = text_format.Parse(
          """
            field_value {
              string_value: '[false, true]'
            }
            schema {
              value_type {
                list_type {
                  boolean_type {}
                }
              }
            }
          """,
          pipeline_pb2.Value(),
      )
      self.assertEqual(
          expected_list,
          data_types_utils.set_parameter_value(
              actual_list, [False, True]
          ),
      )
  
      actual_list = pipeline_pb2.Value()
      expected_list = text_format.Parse(
          """
            field_value {
              string_value: '["true", "false"]'
            }
            schema {
              value_type {
                list_type {}
              }
            }
          """,
          pipeline_pb2.Value(),
      )
      self.assertEqual(
          expected_list,
          data_types_utils.set_parameter_value(
              actual_list, ["true", "false"]
          ),
      )
  
imports: from absl.testing import parameterized
  import tensorflow
  from tfx import types
  from tfx.orchestration import data_types_utils
  from tfx.proto.orchestration import execution_result_pb2
  from tfx.proto.orchestration import pipeline_pb2
  from tfx.types import artifact_utils
  from tfx.utils import proto_utils
  from tfx.utils import test_case_utils
  from google.protobuf import struct_pb2
  from google.protobuf import text_format
  from ml_metadata.proto import metadata_store_pb2
  from ml_metadata.proto import metadata_store_service_pb2
label_desc: Use image node_id 17 for calling the DataTypesUtilsTest obj's underlying member method code with example usage: obj.testSetParameterValue() without return types