code: def test_compute_contribution_histograms(
      self,
      testcase_name,
      input,
      expected_cross_partition,
      expected_per_partition,
      expected_sum_per_partition,
      pre_aggregated,
  ):
      input = input()
      expected_cross_partition = expected_cross_partition()
      expected_per_partition = expected_per_partition()
      expected_sum_per_partition = expected_sum_per_partition()
      data_extractors = pipeline_dp.DataExtractors(
          privacy_id_extractor=lambda x: x[0],
          partition_extractor=lambda x: x[1],
          value_extractor=lambda x: x[2],
      )
      backend = pipeline_dp.LocalBackend()
      if pre_aggregated:
          input = pre_aggregation.preaggregate(
              input, backend, data_extractors
          )
          data_extractors = pipeline_dp.PreAggregateExtractors(
              partition_extractor=lambda x: x[0],
              preaggregate_extractor=lambda x: x[1],
          )
          compute_histograms = (
              computing_histograms.compute_dataset_histograms_on_preaggregated_data
          )
      else:
          compute_histograms = (
              computing_histograms.compute_dataset_histograms
          )
  
      histograms = list(
          compute_histograms(input, data_extractors, backend)
      )
      self.assertLen(histograms, 1)
      histograms = histograms[0]
  
      self.assertEqual(
          hist.HistogramType.L0_CONTRIBUTIONS,
          histograms.l0_contributions_histogram.name,
      )
      self.assertEqual(
          hist.HistogramType.L1_CONTRIBUTIONS,
          histograms.l1_contributions_histogram.name,
      )
      self.assertListEqual(
          expected_cross_partition,
          histograms.l0_contributions_histogram.bins,
      )
      self.assertEqual(
          hist.HistogramType.LINF_CONTRIBUTIONS,
          histograms.linf_contributions_histogram.name,
      )
      self.assertListEqual(
          expected_per_partition,
          histograms.linf_contributions_histogram.bins,
      )
      self.assertEqual(
          hist.HistogramType.LINF_SUM_CONTRIBUTIONS,
          histograms.linf_sum_contributions_histogram.name,
      )
      self.assertListEqual(
          expected_sum_per_partition,
          histograms.linf_sum_contributions_histogram.bins,
      )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import pipeline_dp
  from pipeline_dp.dataset_histograms import histograms
  from pipeline_dp.dataset_histograms import computing_histograms
  from analysis import pre_aggregation
label_desc: Use image node_id 12 for calling the ComputingHistogramsTest obj's underlying member method code with example usage: obj.test_compute_contribution_histograms(testcase_name, input, expected_cross_partition, expected_per_partition, expected_sum_per_partition, pre_aggregated) without return types