/**
  * Test for percentile ranks aggregation.
  *
  * @param array $aggData
  * @param array $expectedResults
  *
  * @dataProvider getPercentileRanksAggregationData()
  */
 public function testPercentileRanksAggregation($aggData, $expectedResults)
 {
     $repo = $this->getManager()->getRepository('AcmeTestBundle:Product');
     $aggregation = new PercentileRanksAggregation('test_agg');
     $aggregation->setField($aggData['field']);
     if (array_key_exists('values', $aggData)) {
         $aggregation->setValues($aggData['values']);
     }
     if (array_key_exists('compression', $aggData)) {
         $aggregation->setCompression($aggData['compression']);
     }
     $search = $repo->createSearch()->addAggregation($aggregation);
     $results = $repo->execute($search, Repository::RESULTS_OBJECT);
     /** @var ValueAggregation $result */
     $result = $results->getAggregations()['test_agg'];
     $this->assertEquals($expectedResults, $result->getValue()['values']);
 }
 /**
  * Tests exception when only field is set.
  *
  * @expectedException \LogicException
  */
 public function testIfExceptionIsThrownWhenFieldSetAndValueNotSet()
 {
     $this->agg->setField('bar');
     $this->agg->toArray();
 }