Completed
Push — location_references ( 47d67d )
by
unknown
13:55
created

NamedReferencesCollectionTest   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 47
rs 10
c 0
b 0
f 0
wmc 5
lcom 0
cbo 2

5 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetReference() 0 9 1
A testGetReferenceThrowsNotFoundException() 0 7 1
A testHasReference() 0 7 1
A testCount() 0 7 1
A testCountEmptyCollection() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace eZ\Publish\Core\LocationReference\Tests\NamedReferences;
6
7
use eZ\Publish\Core\LocationReference\NamedReferences\NamedReferencesCollection;
8
use eZ\Publish\API\Repository\Exceptions\NotFoundException;
9
use PHPUnit\Framework\TestCase;
10
11
final class NamedReferencesCollectionTest extends TestCase
12
{
13
    private const EXAMPLE_REFERENCES = [
14
        'images' => 'remote_id("IMAGES")',
15
        'videos' => 'remote_id("VIDEOS")',
16
        'other' => 'remote_id("OTHER")',
17
    ];
18
19
    public function testGetReference(): void
20
    {
21
        $collection = new NamedReferencesCollection(self::EXAMPLE_REFERENCES);
22
23
        $this->assertEquals(
24
            self::EXAMPLE_REFERENCES['images'],
25
            $collection->getReference('images')
26
        );
27
    }
28
29
    public function testGetReferenceThrowsNotFoundException(): void
30
    {
31
        $this->expectException(NotFoundException::class);
32
33
        $collection = new NamedReferencesCollection(self::EXAMPLE_REFERENCES);
34
        $collection->getReference('root');
35
    }
36
37
    public function testHasReference(): void
38
    {
39
        $collection = new NamedReferencesCollection(self::EXAMPLE_REFERENCES);
40
41
        $this->assertTrue($collection->hasReference('images'));
42
        $this->assertFalse($collection->hasReference('root'));
43
    }
44
45
    public function testCount(): void
46
    {
47
        $this->assertEquals(
48
            count(self::EXAMPLE_REFERENCES),
49
            count(new NamedReferencesCollection(self::EXAMPLE_REFERENCES))
50
        );
51
    }
52
53
    public function testCountEmptyCollection(): void
54
    {
55
        $this->assertCount(0, new NamedReferencesCollection([]));
56
    }
57
}
58