code: def test_parameters_validation(
      self,
      error_msg,
      aggregation_noise_kind,
      aggregation_eps,
      aggregation_delta,
      calculation_eps,
      max_partitions_contributed_upper_bound,
  ):
      with self.assertRaisesRegex(ValueError, error_msg):
          pipeline_dp.CalculatePrivateContributionBoundsParams(
              aggregation_noise_kind,
              aggregation_eps,
              aggregation_delta,
              calculation_eps,
              max_partitions_contributed_upper_bound,
          )
  
imports: from absl.testing import parameterized
  import pipeline_dp
  from pipeline_dp import budget_accounting, aggregate_params
label_desc: Use image node_id 1 for calling the CalculatePrivateContributionBoundsParamsTest obj's underlying member method code with example usage: obj.test_parameters_validation(error_msg, aggregation_noise_kind, aggregation_eps, aggregation_delta, calculation_eps, max_partitions_contributed_upper_bound) without return types