File Coverage

blib/lib/Error/TypeTiny/WrongNumberOfParameters.pm
Criterion Covered Total %
statement 21 21 100.0
branch 6 6 100.0
condition 12 12 100.0
subroutine 10 10 100.0
pod 5 5 100.0
total 54 54 100.0


line stmt bran cond sub pod time code
1             package Error::TypeTiny::WrongNumberOfParameters;
2              
3 57     57   1905 use 5.008001;
  57         208  
4 57     57   332 use strict;
  57         119  
  57         1158  
5 57     57   310 use warnings;
  57         128  
  57         2690  
6              
7             BEGIN {
8 57     57   200 $Error::TypeTiny::WrongNumberOfParameters::AUTHORITY = 'cpan:TOBYINK';
9 57         17281 $Error::TypeTiny::WrongNumberOfParameters::VERSION = '2.004000';
10             }
11              
12             $Error::TypeTiny::WrongNumberOfParameters::VERSION =~ tr/_//d;
13              
14             require Error::TypeTiny;
15             our @ISA = 'Error::TypeTiny';
16              
17 83     83 1 338 sub minimum { $_[0]{minimum} }
18 61     61 1 294 sub maximum { $_[0]{maximum} }
19 64     64 1 286 sub got { $_[0]{got} }
20              
21 134     134 1 601 sub has_minimum { exists $_[0]{minimum} }
22 55     55 1 302 sub has_maximum { exists $_[0]{maximum} }
23              
24             sub _build_message {
25 59     59   126 my $e = shift;
26 59 100 100     168 if ( $e->has_minimum and $e->has_maximum and $e->minimum == $e->maximum ) {
    100 100        
    100 100        
      100        
27 18         56 return sprintf(
28             "Wrong number of parameters; got %d; expected %d",
29             $e->got,
30             $e->minimum,
31             );
32             }
33             elsif ( $e->has_minimum and $e->has_maximum and $e->minimum < $e->maximum ) {
34 12         38 return sprintf(
35             "Wrong number of parameters; got %d; expected %d to %d",
36             $e->got,
37             $e->minimum,
38             $e->maximum,
39             );
40             }
41             elsif ( $e->has_minimum ) {
42 4         11 return sprintf(
43             "Wrong number of parameters; got %d; expected at least %d",
44             $e->got,
45             $e->minimum,
46             );
47             }
48             else {
49 25         67 return sprintf(
50             "Wrong number of parameters; got %d",
51             $e->got,
52             );
53             }
54             } #/ sub _build_message
55              
56             1;
57              
58             __END__