code: def test_find_candidate_parameters_sum(
      self, bins, max_candidates, expected_candidates
  ):
      mock_linf_sum_contributions_histogram = histograms.Histogram(
          histograms.HistogramType.LINF_SUM_CONTRIBUTIONS, bins
      )
      mock_histograms = histograms.DatasetHistograms(
          None,
          None,
          None,
          mock_linf_sum_contributions_histogram,
          None,
          None,
          None,
      )
      parameters_to_tune = parameter_tuning.ParametersToTune(
          max_partitions_contributed=False,
          min_sum_per_partition=False,
          max_sum_per_partition=True,
      )
  
      candidates = parameter_tuning._find_candidate_parameters(
          mock_histograms,
          parameters_to_tune,
          pipeline_dp.Metrics.SUM,
          max_candidates=max_candidates,
      )
  
      self.assertEqual(
          expected_candidates, candidates.max_sum_per_partition
      )
      self.assertEqual(
          [0] * len(expected_candidates),
          candidates.min_sum_per_partition,
      )
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  from unittest import mock
  from unittest.mock import patch
  from typing import List, Optional
  import pipeline_dp
  import analysis
  from analysis import metrics
  from analysis import parameter_tuning
  from pipeline_dp.dataset_histograms import histograms
  from pipeline_dp.dataset_histograms import computing_histograms
label_desc: Use image node_id 5 for calling the ParameterTuning obj's underlying member method code with example usage: obj.test_find_candidate_parameters_sum(bins, max_candidates, expected_candidates) without return types