public function testSubtract_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->subtract(function ($expression) {
$expression->multiply('$amount', 3.15);
}, 0.95);
});
});
$this->assertEquals('[{"$group":{"_id":"user.id","totalAmount":{"$sum":{"$subtract":[{"$multiply":["$amount",3.15]},0.95]}}}}]', (string) $pipeline);
}