code: def test_match_stats(self):
      baseline_examples = [
          _make_ex("id0"),
          _make_ex("id0"),
          _make_ex("id1"),
          _make_ex("id4"),
          _make_ex(""),
      ]
      test_examples = [
          _make_ex("id0"),
          _make_ex("id0"),
          _make_ex("id2"),
          _make_ex("id3"),
          _make_ex("id4"),
          _make_ex(""),
          _make_ex(""),
      ]
  
      with beam.Pipeline(
          runner=beam_runner_util.get_test_runner()
      ) as p:
          baseline_examples = p | "Create Base" >> beam.Create(
              baseline_examples
          )
          test_examples = p | "Create Test" >> beam.Create(
              test_examples
          )
          match_stats = (
              (baseline_examples, test_examples)
              | feature_skew_detector.DetectFeatureSkewImpl(["id"], [])
          )[feature_skew_detector.MATCH_STATS_KEY]
  
          def _assert_fn(got_match_stats):
              expected_match_stats = text_format.Parse(
                  """
          base_with_id_count: 4
          test_with_id_count: 5
          identifiers_count: 5
          matching_pairs_count: 5
          ids_missing_in_base_count: 2
          ids_missing_in_test_count: 1
          duplicate_id_count: 1
          base_missing_id_count: 1
          test_missing_id_count: 2
          """,
                  feature_skew_results_pb2.MatchStats(),
              )
              self.assertEqual([expected_match_stats], got_match_stats)
  
          util.assert_that(match_stats, _assert_fn)
  
imports: import traceback
  from absl.testing import absltest
  from absl.testing import parameterized
  import apache_beam
  from apache_beam.testing import util
  import tensorflow
  from tensorflow_data_validation.utils import beam_runner_util
  from tensorflow_data_validation.skew import feature_skew_detector
  from tensorflow_data_validation.skew.protos import feature_skew_results_pb2
  from tensorflow_data_validation.utils import test_util
  from google.protobuf import text_format
label_desc: Use image node_id 15 for calling the FeatureSkewDetectorTest obj's underlying member method code with example usage: obj.test_match_stats() without return types