public function testAdd_CallableExpressin()
{
$pipeline = new Pipeline($this->collection);
$pipeline->group(function ($stage) {
/* @var $stage \Sokil\Mongo\Pipeline\GroupStage */
$stage->setId('user.id')->sum('totalAmount', function ($expression) {
/* @var $expression \Sokil\Mongo\Pipeline\Expression */
$expression->add(array(function ($expression) {
$expression->multiply('$amount', 0.95);
}, 3.15));
});
});
$this->assertEquals('[{"$group":{"_id":"user.id","totalAmount":{"$sum":{"$add":[{"$multiply":["$amount",0.95]},3.15]}}}}]', (string) $pipeline);
}