ModelDTOArrayTest::namesDataProvider()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

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