Example #1
0
 /**
  * Add an cardinality aggregate.
  *
  * @param $alias
  * @param string|null $field
  * @param string|null $script
  * @param int         $precision
  * @param bool        $rehash
  */
 public function cardinality($alias, $field = null, $script = null, $precision = null, $rehash = null)
 {
     $aggregation = new CardinalityAggregation($alias);
     $aggregation->setField($field);
     $aggregation->setScript($script);
     $aggregation->setPrecisionThreshold($precision);
     $aggregation->setRehash($rehash);
     $this->append($aggregation);
 }
 /**
  * Tests getArray method.
  */
 public function testGetArray()
 {
     $aggregation = new CardinalityAggregation('bar');
     $aggregation->setScript('foo');
     $result = $aggregation->getArray();
     $this->assertArrayHasKey('script', $result, 'key=script when script is set');
     $this->assertEquals('foo', $result['script'], 'script=foo when scripts name=foo');
     $aggregation->setField('foo');
     $result = $aggregation->getArray();
     $this->assertArrayHasKey('field', $result, 'key=field when field is set');
     $this->assertEquals('foo', $result['field'], 'field=foo when fields name=foo');
     $aggregation->setPrecisionThreshold(10);
     $result = $aggregation->getArray();
     $this->assertArrayHasKey('precision_threshold', $result, 'key=precision_threshold when is set');
     $this->assertEquals(10, $result['precision_threshold'], 'precision_threshold=10 when is set');
     $aggregation->setRehash(true);
     $result = $aggregation->getArray();
     $this->assertArrayHasKey('rehash', $result, 'key=rehash when rehash is set');
     $this->assertEquals(true, $result['rehash'], 'rehash=true when rehash is set to true');
 }