code: def testImportExample(self):
      with beam.Pipeline() as pipeline:
          examples = (
              pipeline
              | "ToSerializedRecord"
              >> executor._ImportSerializedRecord(
                  exec_properties={
                      standard_component_specs.INPUT_BASE_KEY: self._input_data_dir
                  },
                  split_pattern="tfrecord/*",
              )
              | "ToTFExample" >> beam.Map(tf.train.Example.FromString)
          )
  
          def check_result(got):
              # We use Python assertion here to avoid Beam serialization error in
              # pickling tf.test.TestCase.
              assert 15000 == len(got), "Unexpected example count"
              assert 18 == len(
                  got[0].features.feature
              ), "Example not match"
  
          util.assert_that(examples, check_result)
  
imports: import os
  import apache_beam
  from apache_beam.testing import util
  import tensorflow
  from tfx.components.example_gen import utils
  from tfx.components.example_gen.import_example_gen import executor
  from tfx.dsl.io import fileio
  from tfx.proto import example_gen_pb2
  from tfx.types import artifact_utils
  from tfx.types import standard_artifacts
  from tfx.types import standard_component_specs
  from tfx.utils import proto_utils
label_desc: Use image node_id 2 for calling the ExecutorTest obj's underlying member method code with example usage: obj.testImportExample() without return types