Sokil\Mongo\Pipeline\ExpressionTest::testMultiply_CallableExpressin PHP Метод

testMultiply_CallableExpressin() публичный Метод

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