Passed
Push — master ( 68c09b...a4bad7 )
by DeGracia
41s queued 11s
created

AggregatorTest::classic_uses_cases()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 20
rs 9.6
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace DeGraciaMathieu\Manager\Tests;
4
5
use PHPUnit\Framework\TestCase;
6
use DeGraciaMathieu\Manager\Aggregator;
7
use DeGraciaMathieu\Manager\Exceptions\DriverOverwrittenException;
8
9
class AggregatorTest extends TestCase
10
{
11
    /**
12
     * @test
13
     */
14
    public function classic_uses_cases()
15
    {
16
        $aggregator = new Aggregator();
17
18
        $aggregator->set('name_1', 'driver_1');
19
        $aggregator->set('name_2', 'driver_2');
20
21
        $drivers = $aggregator->all();
22
23
        $this->assertEquals($drivers, [
24
            'name_1' => 'driver_1',
25
            'name_2' => 'driver_2',
26
        ]);
27
28
        $driver = $aggregator->get('name_1');
29
30
        $this->assertEquals($driver, 'driver_1');
31
        $this->assertTrue($aggregator->has('name_1'));
32
        $this->assertFalse($aggregator->has('unexpected_driver_name'));
33
    }
34
35
    /**
36
     * @test
37
     */
38
    public function driver_already_registered()
39
    {
40
        $aggregator = new Aggregator();
41
42
        $this->expectException(DriverOverwrittenException::class);
43
44
        $aggregator->set('name_1', 'driver_1');
45
        $aggregator->set('name_1', 'driver_2');
46
    }
47
}
48