Sokil\Mongo\CollectionTest::testOverrideDefaultDocumentClassByCallable PHP Method

testOverrideDefaultDocumentClassByCallable() public method

    public function testOverrideDefaultDocumentClassByCallable()
    {
        // define array of collections
        $this->database->map(array('collection1' => array('documentClass' => function (array $data) {
            return '\\Sokil\\Mongo\\' . $data['documentClassName'];
        })));
        // define collection
        $this->database->map('collection2', array('documentClass' => function (array $data) {
            return '\\Sokil\\Mongo\\' . $data['documentClassName'];
        }));
        // check
        $collection1 = $this->database->getCollection('collection1');
        $collection1DocumentClassName = $collection1->getDocumentClassName(array('documentClassName' => 'CollectionTestDocumentMock'));
        $this->assertEquals('\\Sokil\\Mongo\\CollectionTestDocumentMock', $collection1DocumentClassName);
        $collection2 = $this->database->getCollection('collection2');
        $collection2DocumentClassName = $collection2->getDocumentClassName(array('documentClassName' => 'CollectionTestDocumentMock'));
        $this->assertEquals('\\Sokil\\Mongo\\CollectionTestDocumentMock', $collection2DocumentClassName);
    }
CollectionTest