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

AggregatorTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 2
dl 0
loc 39
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A classic_uses_cases() 0 20 1
A driver_already_registered() 0 9 1
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