CollectionInfoTest.php 1.71 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
<?php

namespace MongoDB\Tests;

use MongoDB\Model\CollectionInfo;
use MongoDB\Tests\TestCase;

class CollectionInfoTest extends TestCase
{
    public function testGetName()
    {
Jeremy Mikola's avatar
Jeremy Mikola committed
12
        $info = new CollectionInfo(['name' => 'foo']);
13 14 15 16 17
        $this->assertSame('foo', $info->getName());
    }

    public function testGetOptions()
    {
Jeremy Mikola's avatar
Jeremy Mikola committed
18 19
        $info = new CollectionInfo(['name' => 'foo']);
        $this->assertSame([], $info->getOptions());
20

Jeremy Mikola's avatar
Jeremy Mikola committed
21 22
        $info = new CollectionInfo(['name' => 'foo', 'options' => ['capped' => true, 'size' => 1048576]]);
        $this->assertSame(['capped' => true, 'size' => 1048576], $info->getOptions());
23 24 25 26
    }

    public function testCappedCollectionMethods()
    {
Jeremy Mikola's avatar
Jeremy Mikola committed
27
        $info = new CollectionInfo(['name' => 'foo']);
28 29 30 31
        $this->assertFalse($info->isCapped());
        $this->assertNull($info->getCappedMax());
        $this->assertNull($info->getCappedSize());

Jeremy Mikola's avatar
Jeremy Mikola committed
32
        $info = new CollectionInfo(['name' => 'foo', 'options' => ['capped' => true, 'size' => 1048576]]);
33 34 35 36
        $this->assertTrue($info->isCapped());
        $this->assertNull($info->getCappedMax());
        $this->assertSame(1048576, $info->getCappedSize());

Jeremy Mikola's avatar
Jeremy Mikola committed
37
        $info = new CollectionInfo(['name' => 'foo', 'options' => ['capped' => true, 'size' => 1048576, 'max' => 100]]);
38 39 40 41
        $this->assertTrue($info->isCapped());
        $this->assertSame(100, $info->getCappedMax());
        $this->assertSame(1048576, $info->getCappedSize());
    }
42 43 44

    public function testDebugInfo()
    {
Jeremy Mikola's avatar
Jeremy Mikola committed
45
        $expectedInfo = [
46
            'name' => 'foo',
Jeremy Mikola's avatar
Jeremy Mikola committed
47 48
            'options' => ['capped' => true, 'size' => 1048576],
        ];
49 50 51 52

        $info = new CollectionInfo($expectedInfo);
        $this->assertSame($expectedInfo, $info->__debugInfo());
    }
53
}