testGetManufacturersAddedViaConstructor()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 2
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * File: ManufacturerDTOArrayTest.php
4
 *
5
 * @author      Maciej Sławik <[email protected]>
6
 * Github:      https://github.com/maciejslawik
7
 */
8
9
namespace MSlwk\Otomoto\App\Test\Unit\Manufacturer\Data;
10
11
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTO;
12
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTOArray;
13
use PHPUnit\Framework\TestCase;
14
15
/**
16
 * Class ManufacturerDTOArrayTest
17
 * @package MSlwk\Otomoto\App\Test\Unit\Manufacturer\Data
18
 */
19
class ManufacturerDTOArrayTest extends TestCase
20
{
21
    /**
22
     * @return array
23
     */
24
    public function namesDataProvider()
25
    {
26
        return [
27
            [
28
                'Audi',
29
                'BMW'
30
            ],
31
            [
32
                'BMW',
33
                'Volkswagen'
34
            ],
35
            [
36
                'Lexus',
37
                'Nissan'
38
            ],
39
        ];
40
    }
41
42
    /**
43
     * @test
44
     * @dataProvider namesDataProvider
45
     * @param $firstManufacturerName
46
     * @param $secondManufacturerName
47
     */
48
    public function testGetManufacturersAddedViaConstructor($firstManufacturerName, $secondManufacturerName)
49
    {
50
        $firstManufacturer = new ManufacturerDTO($firstManufacturerName);
51
        $secondManufacturer = new ManufacturerDTO($secondManufacturerName);
52
53
        $manufacturerDTOArray = new ManufacturerDTOArray($firstManufacturer, $secondManufacturer);
54
55
        $this->assertEquals($firstManufacturerName, $manufacturerDTOArray->get(0)->getName());
56
        $this->assertEquals($secondManufacturerName, $manufacturerDTOArray->get(1)->getName());
57
    }
58
59
    /**
60
     * @test
61
     * @dataProvider namesDataProvider
62
     * @param $firstManufacturerName
63
     * @param $secondManufacturerName
64
     */
65
    public function testGetManufacturersAddedViaAdd($firstManufacturerName, $secondManufacturerName)
66
    {
67
        $firstManufacturer = new ManufacturerDTO($firstManufacturerName);
68
        $secondManufacturer = new ManufacturerDTO($secondManufacturerName);
69
70
        $manufacturerDTOArray = new ManufacturerDTOArray();
71
        $manufacturerDTOArray->add($firstManufacturer);
72
        $manufacturerDTOArray->add($secondManufacturer);
73
74
        $this->assertEquals($firstManufacturerName, $manufacturerDTOArray->get(0)->getName());
75
        $this->assertEquals($secondManufacturerName, $manufacturerDTOArray->get(1)->getName());
76
    }
77
78
    /**
79
     * @test
80
     * @dataProvider namesDataProvider
81
     * @param $firstManufacturerName
82
     * @param $secondManufacturerName
83
     */
84
    public function testGetManufacturersAddedViaSet($firstManufacturerName, $secondManufacturerName)
85
    {
86
        $firstManufacturer = new ManufacturerDTO($firstManufacturerName);
87
        $secondManufacturer = new ManufacturerDTO($secondManufacturerName);
88
89
        $manufacturerDTOArray = new ManufacturerDTOArray();
90
        $manufacturerDTOArray->set(2, $firstManufacturer);
91
        $manufacturerDTOArray->set(1, $secondManufacturer);
92
93
        $this->assertEquals($firstManufacturerName, $manufacturerDTOArray->get(2)->getName());
94
        $this->assertEquals($secondManufacturerName, $manufacturerDTOArray->get(1)->getName());
95
    }
96
97
    /**
98
     * @test
99
     * @dataProvider namesDataProvider
100
     * @param $firstManufacturerName
101
     * @param $secondManufacturerName
102
     */
103
    public function testCurrent($firstManufacturerName, $secondManufacturerName)
104
    {
105
        $firstManufacturer = new ManufacturerDTO($firstManufacturerName);
106
        $secondManufacturer = new ManufacturerDTO($secondManufacturerName);
107
108
        $manufacturerDTOArray = new ManufacturerDTOArray($firstManufacturer, $secondManufacturer);
109
110
        $this->assertEquals($firstManufacturerName, $manufacturerDTOArray->current()->getName());
111
        $manufacturerDTOArray->next();
112
        $this->assertEquals($secondManufacturerName, $manufacturerDTOArray->current()->getName());
113
    }
114
115
    /**
116
     * @test
117
     * @dataProvider namesDataProvider
118
     * @param $firstManufacturerName
119
     * @param $secondManufacturerName
120
     */
121
    public function testCount($firstManufacturerName, $secondManufacturerName)
122
    {
123
        $firstManufacturer = new ManufacturerDTO($firstManufacturerName);
124
        $secondManufacturer = new ManufacturerDTO($secondManufacturerName);
125
126
        $manufacturerDTOArray = new ManufacturerDTOArray($firstManufacturer, $secondManufacturer);
127
128
        $this->assertEquals(2, $manufacturerDTOArray->count());
129
    }
130
}
131