code: def test_create_report_with_mocks(
      self, mock_per_partition_to_utility_report
  ):
      dp_metrics = [pipeline_dp.Metrics.COUNT]
      public_partitions = False
      prob_keep = 0.2
      combiner = self._create_combiner(
          dp_metrics,
          public_partitions,
          weight_fn=cross_partition_combiners.equal_weight_fn,
      )
      per_partition_metrics = metrics.PerPartitionMetrics(
          partition_selection_probability_to_keep=prob_keep,
          raw_statistics=metrics.RawStatistics(
              privacy_id_count=3, count=9
          ),
          metric_errors=[
              _get_default_sum_metrics(metric=pipeline_dp.Metrics.COUNT)
          ],
      )
      combiner.create_accumulator(per_partition_metrics)
      mock_per_partition_to_utility_report.assert_called_once_with(
          per_partition_metrics,
          dp_metrics,
          public_partitions,
          prob_keep,
      )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import dataclasses
  import math
  from unittest import mock
  from unittest.mock import patch
  from analysis import metrics
  from analysis import cross_partition_combiners
  import pipeline_dp
label_desc: Use image node_id 4 for calling the CrossPartitionCombiner obj's underlying member method code with example usage: obj.test_create_report_with_mocks(mock_per_partition_to_utility_report) without return types