/**
  * Check if parameters can be set to agg.
  */
 public function testParametersAddition()
 {
     $aggregation = new TopHitsAggregation('acme', 0, 1);
     $aggregation->addParameter('_source', ['include' => ['title']]);
     $expected = ['top_hits' => ['size' => 0, 'from' => 1, '_source' => ['include' => ['title']]]];
     $this->assertSame($expected, $aggregation->toArray());
 }
 /**
  * Tests if adding parameters has any effect.
  */
 public function testParameters()
 {
     $topHitsAggregation = new TopHitsAggregation('test');
     $topHitsAggregation->addParameter('_source', ['include' => ['title']]);
     $expectedAgg = new \stdClass();
     $expectedAgg->sort = [];
     $expectedAgg->_source = ['include' => ['title']];
     $expected = ['agg_test' => ['top_hits' => $expectedAgg]];
     $this->assertEquals($expected, $topHitsAggregation->toArray());
 }
 /**
  * Check if aggregation returns the expected array.
  */
 public function testToArray()
 {
     $sorts = new Sorts();
     $aggregation = new TopHitsAggregation('test', 0, 1);
     $expectedAgg = new \stdClass();
     $expectedAgg->size = 0;
     $expectedAgg->from = 1;
     $expectedAgg->sort = $sorts->toArray();
     $expected = ['agg_test' => ['top_hits' => $expectedAgg]];
     $this->assertEquals($expected, $aggregation->toArray());
 }