code: def testBoundingBoxMatchPreprocessor(
      self, extracts, class_id, iou_threshold, expected_inputs
  ):
      with beam.Pipeline() as p:
          updated_pcoll = (
              p
              | "Create" >> beam.Create([extracts])
              | "Preprocess"
              >> beam.ParDo(
                  object_detection_preprocessors.BoundingBoxMatchPreprocessor(
                      class_id=class_id, iou_threshold=iou_threshold
                  )
              )
          )
  
          def check_result(result):
              # Only single extract case is tested
              self.assertLen(result, 4)
              for updated_extracts, expected_input in zip(
                  result, expected_inputs
              ):
                  self.assertIn(
                      constants.PREDICTIONS_KEY, updated_extracts
                  )
                  np.testing.assert_allclose(
                      updated_extracts[constants.PREDICTIONS_KEY],
                      expected_input[constants.PREDICTIONS_KEY],
                  )
                  self.assertIn(constants.LABELS_KEY, updated_extracts)
                  np.testing.assert_allclose(
                      updated_extracts[constants.LABELS_KEY],
                      expected_input[constants.LABELS_KEY],
                  )
                  self.assertIn(
                      constants.EXAMPLE_WEIGHTS_KEY, updated_extracts
                  )
                  np.testing.assert_allclose(
                      updated_extracts[constants.EXAMPLE_WEIGHTS_KEY],
                      expected_input[constants.EXAMPLE_WEIGHTS_KEY],
                  )
  
          beam_testing_util.assert_that(updated_pcoll, check_result)
  
file_path: model-analysis/tensorflow_model_analysis/metrics/preprocessors/object_detection_preprocessors_test.py
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import apache_beam
  from apache_beam.testing import util
  import numpy
  from tensorflow_model_analysis import constants
  from tensorflow_model_analysis.metrics.preprocessors import object_detection_preprocessors
  from tensorflow_model_analysis.utils import util
label_desc: Use image node_id 1 for calling the ObjectDetectionPreprocessorTest obj's underlying member method code with example usage: obj.testBoundingBoxMatchPreprocessor(extracts, class_id, iou_threshold, expected_inputs) without return types