Completed
Push — master ( a71ec3...e0e2ec )
by Avtandil
02:48
created

DeclensionsTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 248
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 248
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A turn_words_declensions() 0 6 2
B dataForDeclensions() 0 229 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Tests\Unit\Support;
6
7
use Longman\LaravelLodash\Support\Declensions;
8
use Tests\Unit\TestCase;
9
10
class DeclensionsTest extends TestCase
0 ignored issues
show
Bug introduced by
There is at least one abstract method in this class. Maybe declare it as abstract, or implement the remaining methods: artisan, be, call, seed
Loading history...
11
{
12
    /**
13
     * @dataProvider dataForDeclensions()
14
     * @test
15
     */
16
    public function turn_words_declensions(string $word, array $declensions): void
17
    {
18
        foreach ($declensions as $declension => $turned) {
19
            $this->assertSame($turned, Declensions::applyDeclension($word, $declension));
20
        }
21
    }
22
23
    /**
24
     * Data provider
25
     *
26
     * @see turn_words_declensions()
27
     */
28
    public function dataForDeclensions(): array
29
    {
30
        return [
31
            'მოჰამმად'        => [
32
                'word'   => 'მოჰამმად',
33
                'turned' => [
34
                    Declensions::DECLENSION_3 => 'მოჰამმადს',
35
                    Declensions::DECLENSION_4 => 'მოჰამმადის',
36
                ],
37
            ],
38
            'მარქარიან'       => [
39
                'word'   => 'მარქარიან',
40
                'turned' => [
41
                    Declensions::DECLENSION_3 => 'მარქარიანს',
42
                    Declensions::DECLENSION_4 => 'მარქარიანის',
43
                ],
44
            ],
45
            'მენაბდე'         => [
46
                'word'   => 'მენაბდე',
47
                'turned' => [
48
                    Declensions::DECLENSION_3 => 'მენაბდეს',
49
                    Declensions::DECLENSION_4 => 'მენაბდის',
50
                ],
51
            ],
52
            'მაჰდი'           => [
53
                'word'   => 'მაჰდი',
54
                'turned' => [
55
                    Declensions::DECLENSION_3 => 'მაჰდის',
56
                    Declensions::DECLENSION_4 => 'მაჰდის',
57
                ],
58
            ],
59
            'სიჭინავა'        => [
60
                'word'   => 'სიჭინავა',
61
                'turned' => [
62
                    Declensions::DECLENSION_3 => 'სიჭინავას',
63
                    Declensions::DECLENSION_4 => 'სიჭინავას',
64
                ],
65
            ],
66
            'ბარნოვი'         => [
67
                'word'   => 'ბარნოვი',
68
                'turned' => [
69
                    Declensions::DECLENSION_3 => 'ბარნოვს',
70
                    Declensions::DECLENSION_4 => 'ბარნოვის',
71
                ],
72
            ],
73
            'დანელია'         => [
74
                'word'   => 'დანელია',
75
                'turned' => [
76
                    Declensions::DECLENSION_3 => 'დანელიას',
77
                    Declensions::DECLENSION_4 => 'დანელიას',
78
                ],
79
            ],
80
            'ოდინაკა'         => [
81
                'word'   => 'ოდინაკა',
82
                'turned' => [
83
                    Declensions::DECLENSION_3 => 'ოდინაკას',
84
                    Declensions::DECLENSION_4 => 'ოდინაკას',
85
                ],
86
            ],
87
            'კანდელაკი'       => [
88
                'word'   => 'კანდელაკი',
89
                'turned' => [
90
                    Declensions::DECLENSION_3 => 'კანდელაკს',
91
                    Declensions::DECLENSION_4 => 'კანდელაკის',
92
                ],
93
            ],
94
            'ბოიჩენკო'        => [
95
                'word'   => 'ბოიჩენკო',
96
                'turned' => [
97
                    Declensions::DECLENSION_3 => 'ბოიჩენკოს',
98
                    Declensions::DECLENSION_4 => 'ბოიჩენკოს',
99
                ],
100
            ],
101
            'ქევხიშვილი'      => [
102
                'word'   => 'ქევხიშვილი',
103
                'turned' => [
104
                    Declensions::DECLENSION_3 => 'ქევხიშვილს',
105
                    Declensions::DECLENSION_4 => 'ქევხიშვილის',
106
                ],
107
            ],
108
            'გელბახიანი'      => [
109
                'word'   => 'გელბახიანი',
110
                'turned' => [
111
                    Declensions::DECLENSION_3 => 'გელბახიანს',
112
                    Declensions::DECLENSION_4 => 'გელბახიანის',
113
                ],
114
            ],
115
            'თაბაგარი'        => [
116
                'word'   => 'თაბაგარი',
117
                'turned' => [
118
                    Declensions::DECLENSION_3 => 'თაბაგარს',
119
                    Declensions::DECLENSION_4 => 'თაბაგარის',
120
                ],
121
            ],
122
            'მეღვინეთუხუცესი' => [
123
                'word'   => 'მეღვინეთუხუცესი',
124
                'turned' => [
125
                    Declensions::DECLENSION_3 => 'მეღვინეთუხუცესს',
126
                    Declensions::DECLENSION_4 => 'მეღვინეთუხუცესის',
127
                ],
128
            ],
129
            'ღლონტი'          => [
130
                'word'   => 'ღლონტი',
131
                'turned' => [
132
                    Declensions::DECLENSION_3 => 'ღლონტს',
133
                    Declensions::DECLENSION_4 => 'ღლონტის',
134
                ],
135
            ],
136
            'თოდუა'           => [
137
                'word'   => 'თოდუა',
138
                'turned' => [
139
                    Declensions::DECLENSION_3 => 'თოდუას',
140
                    Declensions::DECLENSION_4 => 'თოდუას',
141
                ],
142
            ],
143
            'ტუღუში'          => [
144
                'word'   => 'ტუღუში',
145
                'turned' => [
146
                    Declensions::DECLENSION_3 => 'ტუღუშს',
147
                    Declensions::DECLENSION_4 => 'ტუღუშის',
148
                ],
149
            ],
150
            'ახალკაცი'        => [
151
                'word'   => 'ახალკაცი',
152
                'turned' => [
153
                    Declensions::DECLENSION_3 => 'ახალკაცს',
154
                    Declensions::DECLENSION_4 => 'ახალკაცის',
155
                ],
156
            ],
157
            'კიკაბიძე'        => [
158
                'word'   => 'კიკაბიძე',
159
                'turned' => [
160
                    Declensions::DECLENSION_3 => 'კიკაბიძეს',
161
                    Declensions::DECLENSION_4 => 'კიკაბიძის',
162
                ],
163
            ],
164
            'მესხი'           => [
165
                'word'   => 'მესხი',
166
                'turned' => [
167
                    Declensions::DECLENSION_3 => 'მესხს',
168
                    Declensions::DECLENSION_4 => 'მესხის',
169
                ],
170
            ],
171
            'ბჰაილალბჰაი'     => [
172
                'word'   => 'ბჰაილალბჰაი',
173
                'turned' => [
174
                    Declensions::DECLENSION_3 => 'ბჰაილალბჰაის',
175
                    Declensions::DECLENSION_4 => 'ბჰაილალბჰაის',
176
                ],
177
            ],
178
            'ადმინისტრაცია'   => [
179
                'word'   => 'ადმინისტრაცია',
180
                'turned' => [
181
                    Declensions::DECLENSION_3 => 'ადმინისტრაციას',
182
                    Declensions::DECLENSION_4 => 'ადმინისტრაციის',
183
                ],
184
            ],
185
            'თანამშრომელი'    => [
186
                'word'   => 'თანამშრომელი',
187
                'turned' => [
188
                    Declensions::DECLENSION_3 => 'თანამშრომელს',
189
                    Declensions::DECLENSION_4 => 'თანამშრომლის',
190
                ],
191
            ],
192
            'თანაშემწე'       => [
193
                'word'   => 'თანაშემწე',
194
                'turned' => [
195
                    Declensions::DECLENSION_3 => 'თანაშემწეს',
196
                    Declensions::DECLENSION_4 => 'თანაშემწის',
197
                ],
198
            ],
199
            'ინჟინერი'        => [
200
                'word'   => 'ინჟინერი',
201
                'turned' => [
202
                    Declensions::DECLENSION_3 => 'ინჟინერს',
203
                    Declensions::DECLENSION_4 => 'ინჟინრის',
204
                ],
205
            ],
206
            'ოფიცერი'         => [
207
                'word'   => 'ოფიცერი',
208
                'turned' => [
209
                    Declensions::DECLENSION_3 => 'ოფიცერს',
210
                    Declensions::DECLENSION_4 => 'ოფიცრის',
211
                ],
212
            ],
213
            'ბიბლიოთეკა'      => [
214
                'word'   => 'ბიბლიოთეკა',
215
                'turned' => [
216
                    Declensions::DECLENSION_3 => 'ბიბლიოთეკას',
217
                    Declensions::DECLENSION_4 => 'ბიბლიოთეკის',
218
                ],
219
            ],
220
            'სკოლა'           => [
221
                'word'   => 'სკოლა',
222
                'turned' => [
223
                    Declensions::DECLENSION_3 => 'სკოლას',
224
                    Declensions::DECLENSION_4 => 'სკოლის',
225
                ],
226
            ],
227
            'მოადგილე'        => [
228
                'word'   => 'მოადგილე',
229
                'turned' => [
230
                    Declensions::DECLENSION_3 => 'მოადგილეს',
231
                    Declensions::DECLENSION_4 => 'მოადგილის',
232
                ],
233
            ],
234
            'გამგე'           => [
235
                'word'   => 'გამგე',
236
                'turned' => [
237
                    Declensions::DECLENSION_3 => 'გამგეს',
238
                    Declensions::DECLENSION_4 => 'გამგის',
239
                ],
240
            ],
241
            'დამლაგებელი'     => [
242
                'word'   => 'დამლაგებელი',
243
                'turned' => [
244
                    Declensions::DECLENSION_3 => 'დამლაგებელს',
245
                    Declensions::DECLENSION_4 => 'დამლაგებლის',
246
                ],
247
            ],
248
            'ბუღალტერი'       => [
249
                'word'   => 'ბუღალტერი',
250
                'turned' => [
251
                    Declensions::DECLENSION_3 => 'ბუღალტერს',
252
                    Declensions::DECLENSION_4 => 'ბუღალტრის',
253
                ],
254
            ],
255
        ];
256
    }
257
}
258