code: def test_preaggregate(self, input, expected_output):
      data_extractors = pipeline_dp.DataExtractors(
          privacy_id_extractor=lambda row: row[0],
          partition_extractor=lambda row: row[1],
          value_extractor=lambda row: row[2],
      )
  
      output = list(
          analysis.preaggregate(
              input, pipeline_dp.LocalBackend(), data_extractors
          )
      )
  
      self.assertSequenceEqual(output, expected_output)
  
imports: from absl.testing import absltest
  from absl.testing import parameterized
  import pipeline_dp
  import analysis
label_desc: Use image node_id 1 for calling the PreaggregationTests obj's underlying member method code with example usage: obj.test_preaggregate(input, expected_output) without return types