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

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

    public function testNormalize_Complex()
    {
        $subExpression = new Expression();
        $subExpression->mod('$fieldName', 2);
        $expression = Expression::normalize(array('field1' => 1, 'field2' => $subExpression, 'field3' => function ($expression) {
            $expression->add('$fieldName', 5);
        }, 'field4' => array('subField41' => 1, 'subField42' => $subExpression, 'subField43' => function ($expression) {
            $expression->add('$fieldName', 5);
        }, 'subField44' => array('subField441' => 1, 'subField442' => $subExpression, 'subField443' => function ($expression) {
            $expression->add('$fieldName', 5);
        }))));
        $this->assertEquals(array('field1' => 1, 'field2' => array('$mod' => array('$fieldName', 2)), 'field3' => array('$add' => array('$fieldName', 5)), 'field4' => array('subField41' => 1, 'subField42' => array('$mod' => array('$fieldName', 2)), 'subField43' => array('$add' => array('$fieldName', 5)), 'subField44' => array('subField441' => 1, 'subField442' => array('$mod' => array('$fieldName', 2)), 'subField443' => array('$add' => array('$fieldName', 5))))), $expression);
    }