code: def testQueryStatistics(
      self,
      example_weighted,
      total_queries,
      total_documents,
      min_documents,
      max_documents,
  ):
      metrics = query_statistics.QueryStatistics().computations(
          query_key="query", example_weighted=example_weighted
      )[0]
  
      query1_example1 = {
          "labels": np.array([1.0]),
          "predictions": np.array([0.2]),
          "example_weights": np.array([1.0]),
          "features": {
              "query": np.array(["query1"]),
              "gain": np.array([1.0]),
          },
      }
      query1_example2 = {
          "labels": np.array([0.0]),
          "predictions": np.array([0.8]),
          "example_weights": np.array([1.0]),
          "features": {
              "query": np.array(["query1"]),
              "gain": np.array([0.5]),
          },
      }
      query2_example1 = {
          "labels": np.array([0.0]),
          "predictions": np.array([0.5]),
          "example_weights": np.array([2.0]),
          "features": {
              "query": np.array(["query2"]),
              "gain": np.array([0.5]),
          },
      }
      query2_example2 = {
          "labels": np.array([1.0]),
          "predictions": np.array([0.9]),
          "example_weights": np.array([2.0]),
          "features": {
              "query": np.array(["query2"]),
              "gain": np.array([1.0]),
          },
      }
      query2_example3 = {
          "labels": np.array([0.0]),
          "predictions": np.array([0.1]),
          "example_weights": np.array([2.0]),
          "features": {
              "query": np.array(["query2"]),
              "gain": np.array([0.1]),
          },
      }
      query3_example1 = {
          "labels": np.array([1.0]),
          "predictions": np.array([0.9]),
          "example_weights": np.array([3.0]),
          "features": {
              "query": np.array(["query3"]),
              "gain": np.array([1.0]),
          },
      }
      examples = [
          tfma_util.merge_extracts([query1_example1, query1_example2]),
          tfma_util.merge_extracts(
              [query2_example1, query2_example2, query2_example3]
          ),
          tfma_util.merge_extracts([query3_example1]),
      ]
  
      with beam.Pipeline() as pipeline:
          # pylint: disable=no-value-for-parameter
          result = (
              pipeline
              | "Create" >> beam.Create(examples)
              | "Process"
              >> beam.Map(metric_util.to_standard_metric_inputs, True)
              | "AddSlice" >> beam.Map(lambda x: ((), x))
              | "Combine" >> beam.CombinePerKey(metrics.combiner)
          )
  
          # pylint: enable=no-value-for-parameter
  
          def check_result(got):
              try:
                  self.assertLen(got, 1)
                  got_slice_key, got_metrics = got[0]
                  self.assertEqual(got_slice_key, ())
                  total_queries_key = metric_types.MetricKey(
                      name="total_queries",
                      example_weighted=example_weighted,
                  )
                  total_documents_key = metric_types.MetricKey(
                      name="total_documents",
                      example_weighted=example_weighted,
                  )
                  min_documents_key = metric_types.MetricKey(
                      name="min_documents",
                      example_weighted=example_weighted,
                  )
                  max_documents_key = metric_types.MetricKey(
                      name="max_documents",
                      example_weighted=example_weighted,
                  )
                  self.assertDictElementsAlmostEqual(
                      got_metrics,
                      {
                          total_queries_key: total_queries,
                          total_documents_key: total_documents,
                          min_documents_key: min_documents,
                          max_documents_key: max_documents,
                      },
                      places=5,
                  )
  
              except AssertionError as err:
                  raise util.BeamAssertException(err)
  
          util.assert_that(result, check_result, label="result")
  
file_path: model-analysis/tensorflow_model_analysis/metrics/query_statistics_test.py
imports: from absl.testing import parameterized
  import apache_beam
  from apache_beam.testing import util
  import numpy
  import tensorflow
  from tensorflow_model_analysis.eval_saved_model import testutil
  from tensorflow_model_analysis.metrics import metric_types
  from tensorflow_model_analysis.metrics import metric_util
  from tensorflow_model_analysis.metrics import query_statistics
  from tensorflow_model_analysis.utils import util
label_desc: Use image node_id 1 for calling the QueryStatisticsTest obj's underlying member method code with example usage: obj.testQueryStatistics(example_weighted, total_queries, total_documents, min_documents, max_documents) without return types