code: def test_find_candidate_parameters_maximum_number_of_candidates_is_respected_when_both_parameters_needs_to_be_tuned(
      self,
  ):
      mock_l0_histogram = histograms.Histogram(
          histograms.HistogramType.L0_CONTRIBUTIONS, bins=[]
      )
      mock_l0_histogram.max_value = mock.Mock(return_value=6)
      mock_linf_histogram = histograms.Histogram(
          histograms.HistogramType.LINF_CONTRIBUTIONS, bins=[]
      )
      mock_linf_histogram.max_value = mock.Mock(return_value=3)
  
      mock_histograms = histograms.DatasetHistograms(
          mock_l0_histogram,
          None,
          mock_linf_histogram,
          None,
          None,
          None,
          None,
      )
      parameters_to_tune = parameter_tuning.ParametersToTune(
          max_partitions_contributed=True,
          max_contributions_per_partition=True,
      )
  
      candidates = parameter_tuning._find_candidate_parameters(
          mock_histograms,
          parameters_to_tune,
          pipeline_dp.Metrics.COUNT,
          max_candidates=5,
      )
      self.assertEqual(
          [1, 1, 6, 6], candidates.max_partitions_contributed
      )
      self.assertEqual(
          [1, 3, 1, 3], candidates.max_contributions_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 1 for calling the ParameterTuning obj's underlying member method code with example usage: obj.test_find_candidate_parameters_maximum_number_of_candidates_is_respected_when_both_parameters_needs_to_be_tuned() without return types