File Coverage

blib/lib/Mock/Person/SK/ROM.pm
Criterion Covered Total %
statement 42 46 91.3
branch 8 12 66.6
condition 4 9 44.4
subroutine 16 16 100.0
pod 9 9 100.0
total 79 92 85.8


line stmt bran cond sub pod time code
1             package Mock::Person::SK::ROM;
2              
3 9     9   194668 use base qw(Exporter);
  9         19  
  9         2776  
4 9     9   55 use strict;
  9         15  
  9         325  
5 9     9   4595 use utf8;
  9         2383  
  9         49  
6 9     9   301 use warnings;
  9         20  
  9         628  
7              
8 9     9   51 use List::Util 1.33 qw(none);
  9         206  
  9         1429  
9 9     9   5207 use Readonly;
  9         45483  
  9         8988  
10              
11             # Constants.
12             Readonly::Scalar our $SPACE => q{ };
13             Readonly::Array our @EXPORT_OK => qw(first_male first_female middle_female
14             last_male last_female middle_male middle_female name name_male
15             name_female);
16              
17             # Variables.
18             our $TYPE = 'two';
19              
20             our $VERSION = 0.03;
21              
22             # First and middle male names.
23             our @first_male = our @middle_male = qw(
24             Arpad
25             Dezo
26             Dezider
27             Dominik
28             Ervin
29             Jiří
30             Jolana
31             Josef
32             Kalman
33             Kevin
34             Lajos
35             Marian
36             Petr
37             Roman
38             Viliam
39             );
40              
41             # First and middle female names.
42             our @first_female = our @middle_female = qw(
43             Anna
44             Elizabeth
45             Erza
46             Esmeralda
47             Hana
48             Jessika
49             Kamila
50             Luci
51             Marika
52             Marget
53             Mária
54             Monika
55             Nikola
56             Renata
57             Romana
58             Terezie
59             Vanessa
60             Žaneta
61             );
62              
63             # Last male names.
64             our @last_male = qw(
65             Absolon
66             Bady
67             Bado
68             Badžo
69             Bagár
70             Balog
71             Balogh
72             Bamberger
73             Bandi
74             Banga
75             Bango
76             Bari
77             Báro
78             Barok
79             Barya
80             Bazylak
81             Bažo
82             Bednár
83             Bendig
84             Bengoro
85             Beňák
86             Beňo
87             Berki
88             Berko
89             Bihári
90             Biháryi
91             Bikar
92             Bilaj
93             Bogol
94             Bokor
95             Botoš
96             Budaj
97             Byl
98             Cirok
99             Cobas
100             Csocs
101             Černohorský
102             Červeňák
103             Číča
104             Čičák
105             Čisar
106             Čobak
107             Čonka
108             Čornej
109             Čurej
110             Čureja
111             Čuri
112             Čurko
113             Daďo
114             Daniel
115             Danihel
116             Dajdy
117             Danko
118             Dany
119             Danyi
120             David
121             Demeter
122             Deňo
123             Derulo
124             Dirda
125             Dudy
126             Dunko
127             Duraj
128             Durasko
129             Durda
130             Durňak
131             Dydyk
132             Dzudza
133             Dzurko
134             Džuga
135             Džuman
136             Ďuďa
137             Fábero
138             Fabián
139             Fako
140             Farkaš
141             Fečo
142             Fehér
143             Fekete
144             Ferenc
145             Ferko
146             Gabčo
147             Gábor
148             Gadzor
149             Gadžor
150             Galba
151             Gataš
152             Gatoš
153             Gaži
154             Giňa
155             Giňo
156             Girga
157             Gizman
158             Goga
159             Gondolán
160             Gondy
161             Gorol
162             Grondzár
163             Grundza
164             Guman
165             Gunar
166             Gunár
167             Hangurbadžo
168             Hanko
169             Herák
170             Hiňa
171             Holdy
172             Holomek
173             Holub
174             Horváth
175             Hrivňák
176             Huňák
177             Husar
178             Chanžalik
179             Charvát
180             Ištánek
181             Ištok
182             Ištván
183             Janeček
184             Jano
185             Jurčo
186             Jurko
187             Kaleja
188             Kajkoš
189             Karol
190             Kašperko
191             Karvaj
192             Kavur
193             Kirko
194             Kirvej
195             Klempár
196             Klimt
197             Koky
198             Kuky
199             Kotlár
200             Kováč
201             Kovács
202             Kramčanin
203             Kučeraj
204             Kumaj
205             Kurej
206             Kurko
207             Kýr
208             Lacko
209             Lagryn
210             Lakatoš
211             Latymor
212             Lazok
213             Lofas
214             Lomanth
215             Maďar
216             Makaj
217             Makuňa
218             Malar
219             Malík
220             Mezej
221             Mezga
222             Mézga
223             Miazga
224             Miko
225             Milko
226             Mindzár
227             Mirga
228             Mižigar
229             Molnar
230             Murka
231             Németh
232             Oláh
233             Ondič
234             Oračko
235             Pacaj
236             Pako
237             Petržilka
238             Pfeffer
239             Plachetka
240             Pocikál
241             Pohlodko
242             Polhoš
243             Porčogoš
244             Procházka
245             Rigo
246             Richter
247             Rusznyak
248             Růžička
249             Sakajto
250             Samel
251             Sarkozy
252             Sinu
253             Sivák
254             Stojka
255             Stylar
256             Surmaj
257             Šajko
258             Szajko
259             Šamko
260             Szamko
261             Šandor
262             Šándor
263             Šarkezy
264             Ščuka
265             Šidélko
266             Šimko
267             Špivak
268             Šťuko
269             Tancoš
270             Tancosz
271             Telvak
272             Tomaš
273             Tomko
274             Totorkul
275             Tulej
276             Tuleja
277             Turták
278             Vega
279             Veselý
280             Virag
281             Vrba
282             Zaječí
283             Zaňák
284             Žiga
285             Žolták
286             );
287              
288             # Last female names.
289             our @last_female = qw(
290             Mižigárová
291             );
292              
293             # Get random first male name.
294             sub first_male {
295 3     3 1 391776 return $first_male[rand @first_male];
296             }
297              
298             # Get random first female name.
299             sub first_female {
300 2     2 1 322996 return $first_female[rand @first_female];
301             }
302              
303             # Get random last male name.
304             sub last_male {
305 3     3 1 368149 return $last_male[rand @last_male];
306             }
307              
308             # Get random last female name.
309             sub last_female {
310 2     2 1 297740 return $last_female[rand @last_female];
311             }
312              
313             # Get random middle male name.
314             sub middle_male {
315 4     4 1 270170 return $middle_male[rand @middle_male];
316             }
317              
318             # Get random middle female name.
319             sub middle_female {
320 2     2 1 308641 return $middle_female[rand @middle_female];
321             }
322              
323             # Get random name.
324             sub name {
325 3     3 1 320244 my $sex = shift;
326 3 100 66 3   26 if (! defined $sex || none { $sex eq $_ } qw(female male)) {
  3 100       20  
    50          
327 1 50       50 if ((int(rand(2)) + 1 ) % 2 == 0) {
328 1         5 return name_male();
329             } else {
330 0         0 return name_female();
331             }
332             } elsif ($sex eq 'female') {
333 1         4 return name_female();
334             } elsif ($sex eq 'male') {
335 1         5 return name_male();
336             }
337             }
338              
339             # Get random male name.
340             sub name_male {
341 2 50 33 2 1 15 if (defined $TYPE && $TYPE eq 'three') {
342 2         8 my $first_male = first_male();
343 2         7 my $middle_male = middle_male();
344 2         7 while ($first_male eq $middle_male) {
345 1         4 $middle_male = middle_male();
346             }
347 2         6 return $first_male.$SPACE.$middle_male.$SPACE.last_male();
348             } else {
349 0         0 return first_male().$SPACE.last_male();
350             }
351             }
352              
353             # Get random female name.
354             sub name_female {
355 1 50 33 1 1 15 if (defined $TYPE && $TYPE eq 'three') {
356 1         5 my $first_female = first_female();
357 1         4 my $middle_female = middle_female();
358 1         6 while ($first_female eq $middle_female) {
359 0         0 $middle_female = middle_female();
360             }
361 1         4 return $first_female.$SPACE.$middle_female.$SPACE.last_female();
362             } else {
363 0           return first_female().$SPACE.last_female();
364             }
365             }
366              
367             1;
368              
369             __END__