code: def test_check_aggregate_params(self):
      default_extractors = self._get_default_extractors()
      default_params = pipeline_dp.AggregateParams(
          noise_kind=pipeline_dp.NoiseKind.GAUSSIAN,
          max_partitions_contributed=1,
          max_contributions_per_partition=1,
          metrics=[pipeline_dp.Metrics.PRIVACY_ID_COUNT],
      )
  
      var_max_contribtions_params = pipeline_dp.AggregateParams(
          noise_kind=pipeline_dp.NoiseKind.GAUSSIAN,
          min_value=0,
          max_value=1,
          max_contributions=1,
          metrics=[pipeline_dp.Metrics.VARIANCE],
      )
  
      test_cases = [
          {
              "desc": "None col",
              "col": None,
              "params": default_params,
              "data_extractor": default_extractors,
          },
          {
              "desc": "empty col",
              "col": [],
              "params": default_params,
              "data_extractor": default_extractors,
          },
          {
              "desc": "none params",
              "col": [0],
              "params": None,
              "data_extractor": default_extractors,
          },
          {
              "desc": "None data_extractor",
              "col": [0],
              "params": default_params,
              "data_extractor": None,
          },
          {
              "desc": "data_extractor with an incorrect type",
              "col": [0],
              "params": default_params,
              "data_extractor": 1,
          },
          {
              "desc": "max_contributions is not supported for VARIANCE",
              "col": [0],
              "params": var_max_contribtions_params,
              "data_extractor": default_extractors,
          },
      ]
  
      for test_case in test_cases:
          with self.assertRaises(Exception, msg=test_case["desc"]):
              budget_accountant = NaiveBudgetAccountant(
                  total_epsilon=1, total_delta=1e-10
              )
              engine = pipeline_dp.DPEngine(
                  budget_accountant=budget_accountant,
                  backend=pipeline_dp.LocalBackend(),
              )
              engine.aggregate(
                  test_case["col"],
                  test_case["params"],
                  test_case["data_extractor"],
              )
  
imports: import sys
  import unittest
  from typing import List, Optional, Tuple
  from unittest.mock import patch
  import numpy
  import apache_beam
  import apache_beam.testing.test_pipeline
  import apache_beam.testing.util
  import pydp.algorithms.partition_selection
  from absl.testing import absltest
  from absl.testing import parameterized
  import pipeline_dp
  from pipeline_dp import aggregate_params
  from pipeline_dp import budget_accounting
  from pipeline_dp import dp_computations
  from pipeline_dp.budget_accounting import NaiveBudgetAccountant
  from pipeline_dp.pipeline_backend import PipelineBackend
  from pipeline_dp.pipeline_functions import collect_to_container
  from pipeline_dp.report_generator import ReportGenerator
label_desc: Use image node_id 13 for calling the DpEngineTest obj's underlying member method code with example usage: obj.test_check_aggregate_params() without return types