code: def test_compute_l1_contributions_histogram(
      self, testcase_name, input, expected, pre_aggregated
  ):
      backend = pipeline_dp.LocalBackend()
      if pre_aggregated:
          input = pre_aggregation.preaggregate(
              input,
              backend,
              data_extractors=pipeline_dp.DataExtractors(
                  privacy_id_extractor=lambda x: x[0],
                  partition_extractor=lambda x: x[1],
                  value_extractor=lambda x: 0,
              ),
          )
          compute_histograms = (
              computing_histograms._compute_l1_contributions_histogram_on_preaggregated_data
          )
      else:
          compute_histograms = (
              computing_histograms._compute_l1_contributions_histogram
          )
      histogram = list(compute_histograms(input, backend))[0]
      self.assertEqual(
          hist.HistogramType.L1_CONTRIBUTIONS, histogram.name
      )
      self.assertListEqual(expected, 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 6 for calling the ComputingHistogramsTest obj's underlying member method code with example usage: obj.test_compute_l1_contributions_histogram(testcase_name, input, expected, pre_aggregated) without return types