File Coverage

blib/lib/Random/AcademicTitle/CZ.pm
Criterion Covered Total %
statement 21 33 63.6
branch 0 4 0.0
condition n/a
subroutine 6 8 75.0
pod 3 3 100.0
total 30 48 62.5


line stmt bran cond sub pod time code
1             package Random::AcademicTitle::CZ;
2              
3 3     3   131274 use strict;
  3         7  
  3         118  
4 3     3   15 use warnings;
  3         5  
  3         237  
5              
6 3     3   1804 use Class::Utils qw(set_params);
  3         30833  
  3         69  
7 3     3   2253 use Mo::utils 0.06 qw(check_bool);
  3         11235  
  3         70  
8 3     3   516 use Readonly;
  3         8  
  3         1350  
9              
10             Readonly::Array our @TITLES_AFTER => (
11             'Ph.D.',
12             'Th.D.',
13             'DiS.',
14             'DSc.',
15             );
16             Readonly::Array our @TITLES_AFTER_OLD => (
17             'CSc.',
18             'DrSc.',
19             'Dr.',
20             'Th.D.',
21             );
22             Readonly::Array our @TITLES_BEFORE => (
23             'prof.',
24             'doc.',
25             'MUDr.',
26             'MVDr.',
27             'MDDr.',
28             'PharmDr.',
29             'JUDr.',
30             'PhDr.',
31             'RNDr.',
32             'ThDr.',
33             'Ing.',
34             'Ing. arch.',
35             'Mgr.',
36             'MgA.',
37             'Bc.',
38             'BcA.',
39             'ThLic.',
40             );
41             Readonly::Array our @TITLES_BEFORE_OLD => (
42             'akad. arch.',
43             'akad. mal.',
44             'ak. soch.',
45             'MSDr.',
46             'PaedDr.',
47             'PhMr.',
48             'RSDr.',
49             'RTDr.',
50             'RCDr.',
51             'ThMgr.',
52             );
53              
54             our $VERSION = 0.03;
55              
56             # Constructor.
57             sub new {
58 4     4 1 388952 my ($class, @params) = @_;
59              
60             # Create object.
61 4         15 my $self = bless {}, $class;
62              
63             # Set up old titles.
64 4         15 $self->{'old'} = 0;
65              
66             # Process parameters.
67 4         19 set_params($self, @params);
68              
69 3         48 check_bool($self, 'old');
70              
71 2         60 return $self;
72             }
73              
74             sub random_title_after {
75 0     0 1   my $self = shift;
76              
77 0           my @titles = @TITLES_AFTER;
78 0 0         if ($self->{'old'}) {
79 0           push @titles, @TITLES_AFTER_OLD;
80             }
81 0           my $title = $titles[int(rand(@titles))];
82              
83 0           return $title;
84             }
85              
86             sub random_title_before {
87 0     0 1   my $self = shift;
88              
89 0           my @titles = @TITLES_BEFORE;
90 0 0         if ($self->{'old'}) {
91 0           push @titles, @TITLES_BEFORE_OLD;
92             }
93 0           my $title = $titles[int(rand(@titles))];
94              
95 0           return $title;
96             }
97              
98              
99             1;
100              
101             __END__