code: def testDo(self):
      data_view = standard_artifacts.DataView()
      data_view.uri = "/old/data_view"
      data_view.id = 1
      data_view.mlmd_artifact.create_time_since_epoch = 123
  
      existing_custom_property = "payload_format"
      input_examples = standard_artifacts.Examples()
      input_examples.uri = "/examples/1"
      input_examples.set_string_custom_property(
          existing_custom_property, "VALUE1"
      )
  
      input_dict = {
          "input_examples": [input_examples],
          "data_view": [data_view],
      }
      exec_properties = {}
      output_dict = {"output_examples": [standard_artifacts.Examples()]}
  
      executor = binder_executor.DataViewBinderExecutor()
      executor.Do(input_dict, output_dict, exec_properties)
  
      output_examples = output_dict.get("output_examples")
      self.assertIsNotNone(output_examples)
      self.assertLen(output_examples, 1)
      oe = output_examples[0]
      self.assertEqual(
          oe.get_string_custom_property(
              constants.DATA_VIEW_URI_PROPERTY_KEY
          ),
          "/old/data_view",
      )
      self.assertEqual(
          oe.get_string_custom_property(
              constants.DATA_VIEW_CREATE_TIME_KEY
          ),
          "123",
      )
  
      # output should share the URI with the input.
      self.assertEqual(oe.uri, input_examples.uri)
      # other custom properties should be inherited.
      self.assertEqual(
          oe.get_string_custom_property(existing_custom_property),
          input_examples.get_string_custom_property(
              existing_custom_property
          ),
      )
  
imports: import tensorflow
  from tfx.components.experimental.data_view import binder_executor
  from tfx.components.experimental.data_view import constants
  from tfx.types import standard_artifacts
label_desc: Use image node_id 1 for calling the BinderExecutorTest obj's underlying member method code with example usage: obj.testDo() without return types