/** * @dataProvider provideAccumulators */ public function testAccumulatorsWithMultipleArguments($operator) { $projectStage = new Project($this->getTestAggregationBuilder()); $projectStage->field('something')->{$operator}('$expression1', '$expression2'); $this->assertSame(array('$project' => array('something' => array('$' . $operator => array('$expression1', '$expression2')))), $projectStage->getExpression()); }
public function testProjectStage() { $projectStage = new Project($this->getTestAggregationBuilder()); $projectStage->excludeIdField()->includeFields(array('$field', '$otherField'))->field('product')->multiply('$field', 5); $this->assertSame(array('$project' => array('_id' => false, '$field' => true, '$otherField' => true, 'product' => array('$multiply' => array('$field', 5)))), $projectStage->getExpression()); }