/** * 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(); }