File Coverage

blib/lib/Mock/Person/SK/ROM.pm
Criterion Covered Total %
statement 41 46 89.1
branch 8 12 66.6
condition 4 9 44.4
subroutine 16 16 100.0
pod 9 9 100.0
total 78 92 84.7


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