Branch Coverage

blib/lib/String/CodiceFiscale.pm
Criterion Covered Total %
branch 132 164 80.4


line true false branch
65 0 47 unless $OPTS{$k}
74 5 2 if (defined $sn)
86 17 17 if (defined $sn_c)
88 1 16 unless ($sn_c =~ /$RE_nc/)
93 2 14 unless (length $sn_c == 3)
101 5 26 if (defined $$self{'sn'} and not defined $$self{'sn_c'})
106 2 9 if length $temp >= 3
110 2 1 if length $temp >= 3
130 0 2 unless defined $tm
133 0 2 if (defined(my $sn = $self->sn))
137 2 0 if (defined $self->sn_c)
146 6 4 if (defined $fn)
158 19 22 if (defined $fn_c)
160 1 18 unless ($fn_c =~ /$RE_nc/)
165 2 16 unless (length $fn_c == 3)
173 6 32 if (defined $$self{'fn'} and not defined $$self{'fn_c'})
178 2 12 if ($skip and length $temp == 1)
183 2 10 if length $temp >= 3
187 3 2 if length $temp >= 3
206 0 4 unless defined $tm
209 0 4 if (defined(my $fn = $self->fn))
213 4 0 if (defined $self->fn_c)
223 4 1 if (defined $date) { }
226 1 3 if ($@)
236 0 9 unless ($self->$_($date{$_}))
245 0 3 unless (defined $date{$_})
258 5 2 if (defined $y)
259 1 4 unless ($y =~ /^\d+$/)
266 2 4 if (not defined $$self{'year'} and defined $$self{'year_c'})
269 2 0 if ($year > $cy) { }
281 9 9 if (defined $ycx)
283 1 8 unless ($yc =~ /^\d\d$/)
290 1 16 if (not defined $$self{'year_c'} and defined $$self{'year'})
299 6 2 if (defined $m)
300 1 4 unless ($m =~ /^\d+$/ and $m >= 1 and $m <= 12)
307 2 4 if (not defined $$self{'month'} and defined $$self{'month_c'})
316 8 10 if (defined $mc)
317 0 8 unless ($mc =~ /^[$MONTHS]$/o)
324 2 16 if (not defined $$self{'month_c'} and defined $$self{'month'})
333 5 2 if (defined $d)
334 1 4 unless ($d =~ /^\d+$/ and 1 <= $d and $d <= 31)
341 2 4 if (not defined $$self{'day'} and defined $$self{'day_c'})
343 1 1 $dayx > 40 ? :
351 9 11 if (defined $dcx)
353 0 9 unless ($dc =~ /^\d+$/)
357 1 8 unless ($dc > 0 and not $dc > 31 && $dc < 41 and $dc <= 71)
365 3 0 if (not defined $$self{'day_c'} and defined $$self{'day'} and defined $$self{'sex'})
368 1 2 if $$self{'sex'} eq 'F'
376 3 2 if (defined $sex)
377 0 3 unless ($sex =~ /^[MF]$/i)
384 2 3 if (not defined $$self{'sex'} and defined $$self{'day_c'})
386 1 1 $dayx > 40 ? :
394 4 3 if (defined $bp)
395 2 2 unless ($bp =~ /^[A-Z]\d\d\d$/)
402 2 3 if (not defined $$self{'bp'} and defined $$self{'bp_c'})
413 10 9 if (defined $bpcx)
416 1 9 unless ($bpc =~ /^[A-Z]\d\d\d$/)
423 1 17 if (not defined $$self{'bp_c'} and defined $$self{'bp'})
434 0 27 unless (defined $t)
458 0 36 unless (defined $t)
465 0 9 unless ($self->_xnums($nums))
476 0 9 unless ($cf)
485 2 7 $cf_out ? :
492 1 7 unless (length $cf == 16)
497 0 7 unless ($crc)
511 2 5 unless ($crc eq $obj->crc)
522 2 2 if $obj
530 16 3 if (ref $proto)
531 16 0 if defined $err
535 3 0 if defined $err
546 0 45 unless $nums =~ /^\d*[$XNUMS]*$/o
557 2 6 if defined $$self{$attr}
559 0 6 unless ($nc)
560 0 0 $method eq 'sn_c' ? :
568 4 2 if (3 == length $c) { }
1 1 elsif (2 == length $c and 1 == length $v) { }
0 1 elsif (1 == length $c and 2 == length $v) { }
0 1 elsif (3 == length $v) { }
1 0 elsif (1 == length $x) { }
0 0 elsif (2 == length $x) { }
570 4 0 if ($method eq 'fn_c') { }
609 1 0 if (1 == length $c) { }