code: def test_write_and_read_records(self):
      datasets = [
          statistics_pb2.DatasetFeatureStatisticsList(
              datasets=[
                  statistics_pb2.DatasetFeatureStatistics(name="d1")
              ]
          ),
          statistics_pb2.DatasetFeatureStatisticsList(
              datasets=[
                  statistics_pb2.DatasetFeatureStatistics(name="d2")
              ]
          ),
      ]
      output_prefix = tempfile.mkdtemp() + "/statistics"
  
      with beam.Pipeline() as p:
          provider = artifacts_io_impl.get_io_provider("tfrecords")
          _ = (
              p
              | beam.Create(datasets)
              | provider.record_sink_impl(output_prefix)
          )
  
      got = provider.record_iterator_impl(provider.glob(output_prefix))
      self.assertCountEqual(datasets, got)
  
imports: import tempfile
  from absl.testing import absltest
  import apache_beam
  from tensorflow_data_validation.utils import artifacts_io_impl
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 1 for calling the RecordSinkAndSourceTest obj's underlying member method code with example usage: obj.test_write_and_read_records() without return types