/**
  * Tests if the resulting aggregation array is as expected.
  *
  * @dataProvider provideAggregationPipelineTestData
  */
 public function testPipelineBuilder($testData, $expected)
 {
     $builder = new PipelineBuilder();
     foreach ($testData as $part) {
         if ($part instanceof AggregationInterface) {
             $builder->add($part);
         } elseif ($part instanceof AggregationBag) {
             $builder->addBag($part);
         } elseif ($part instanceof PipelineBuilder) {
             $builder->addBuilder($part);
         }
     }
     $result = $builder->build();
     $this->assertEquals($expected, $result);
 }