Condition Coverage

blib/lib/Sport/Analytics/NHL/Test.pm
Criterion Covered Total %
condition 194 289 67.1


and 3 conditions

line !l l&&!r l&&r condition
365 2951 72021 74 ref $_[1] and ref $_[1] eq 'ARRAY'
446 4043 2011 0 $EVENT and $Sport::Analytics::NHL::Test::EVENT->{'time'} eq '00:00'
6054 0 0 $EVENT and $Sport::Analytics::NHL::Test::EVENT->{'time'} eq '00:00' and $Sport::Analytics::NHL::Test::EVENT->{'period'} < 2
464 10 0 0 @{$bs->{'periods'};} > 4 and $bs->{'stage'} == $Sport::Analytics::NHL::Test::REGULAR
465 10 0 0 $bs->{'so'} and ref $bs->{'shootout'}
499 15 0 10 not $period and $p > 2
577 3812 180 0 $player->{'position'} eq 'G' and $opts->{'es'}
601 84 240 0 $player->{'_id'} and $player->{'_id'} =~ /^80/
640 0 0 962 not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL'
894 48 20 $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'}
0 20 942 not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL' and not $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'}
20 426 516 not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL' and not $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'} and $event->{'type'} eq 'GOAL' || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} && !&is_noplay_event($event)
452 64 0 $event->{'type'} eq 'MISS' && !$event->{'sources'}{'PL'}
426 0 516 not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL' and not $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'} and $event->{'type'} eq 'GOAL' || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} && !&is_noplay_event($event) and not $event->{'type'} eq 'MISS' && !$event->{'sources'}{'PL'}
951 2 960 $opts->{'merged'} and (not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL' and not $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'} and $event->{'type'} eq 'GOAL' || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} && !&is_noplay_event($event) and not $event->{'type'} eq 'MISS' && !$event->{'sources'}{'PL'})
659 1612 0 340 $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'BS'} and not $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'}
671 1918 1 33 $event->{'assists'} and @{$event->{'assists'};}
684 1614 0 5 $opts->{'gs'} and not $event->{'old'}
694 1239 86 26 $event->{'type'} eq 'PENL' and $event->{'time'} eq '20:00' || $Sport::Analytics::NHL::Test::PENALTY_POSSIBLE_NO_OFFENDER{$event->{'penalty'}}
707 768 39 0 $event->{'type'} eq 'GOAL' and $event->{'en'}
768 36 3 $event->{'type'} eq 'GOAL' and $opts->{'bh'}
266 400 0 $opts->{'merged'} and not $event->{'sources'}{'BS'}
666 0 0 $opts->{'merged'} and not $event->{'sources'}{'BS'} and $event->{'type'} eq 'GOAL'
651 15 0 $event->{'time'} eq '0:00' and $event->{'type'} ne 'FAC'
714 34 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS
736 80 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS
827 9 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::NO_EVENTS
9 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::NO_EVENTS and not $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'GS'} || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'}
843 2 1 3 not $opts->{'es'} || $opts->{'pl'} and $boxscore->{'season'} >= $Sport::Analytics::NHL::Test::DATA_BY_SEASON{'officials'}
846 6 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS
906 0 0 38 defined $roster_player->{'penaltyMinutes'} and $roster_player->{'penaltyMinutes'} != -1
1014 0 0 0 $boxscore->{'season'} > 1998 && $boxscore->{'ot'}
1018 1 2 0 $boxscore->{'season'} > 1998 && $boxscore->{'ot'}
1029 4 0 8 -f "$path/$source.html" and not $Sport::Analytics::NHL::Test::BROKEN_FILES{$boxscore->{'_id'}}{$source}
1097 3 0 0 $Sport::Analytics::NHL::Test::BROKEN_FILES{$boxscore->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$boxscore->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::UNSYNCHED
1117 7 112 547 defined $event->{'t'} and $event->{'t'} != -1
1218 6 438 219 $boxscore->{'events'}[$e]{'period'} == $boxscore->{'events'}[$e + 1]{'period'} and $boxscore->{'events'}[$e]{'ts'} == $boxscore->{'events'}[$e + 1]{'ts'}

or 2 conditions

line l !l condition
333 0 68 $Sport::Analytics::NHL::Test::TEST_ERRORS->{$field} ||= []
423 11219 6483 shift() || 0
525 18 0 shift() || {}
544 304 0 shift() || {}
571 304 0 shift() || {}
594 8 1 shift() || {}
664 1952 0 shift() || {}
799 1952 0 shift() || {}
816 8 1 shift() || {}
837 6 0 shift() || {'bs', 0}
896 10 28 $event_player->{'penaltyMinutes'} ||= 0
897 1 37 $event_player->{'servedbyMinutes'} ||= 0
922 2 0 $event_player->{'goalsAgainst'} || 0
937 8 28 $event_player->{$stat} || 0
963 4 39 $player->{'goals'} ||= 0
966 0 2 $$event_summary{$player->{'_id'}}{'g_goals'} || 0
993 2 0 $$event_summary{$team->{'name'}}{'score'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
338 0 0 68 $object->{'_id'} || $object->{'event_idx'} || $object->{'number'}
446 38 4428 0 $Sport::Analytics::NHL::Test::DATA_BY_SEASON{$data} || $Sport::Analytics::NHL::Test::STAT_RECORD_FROM{$data} || $data
528 2 2 14 $opts->{'es'} or $opts->{'gs'}
2 2 12 $opts->{'es'} or $opts->{'gs'} or $opts->{'ro'}
530 2 2 14 $opts->{'es'} or $opts->{'gs'}
577 436 0 3992 &is_unapplicable($Sport::Analytics::NHL::Test::STAT_RECORD_FROM{$stat}) or $player->{'position'} eq 'G' and $opts->{'es'}
583 0 16 760 $opts->{'es'} || $opts->{'gs'}
587 40 4 260 $opts->{'es'} or $opts->{'gs'}
4 40 220 $opts->{'es'} or $opts->{'gs'} or $opts->{'ro'}
620 8 0 10 $broken or $Sport::Analytics::NHL::Test::BOXSCORE->{'_gs_no_g'}
0 2 8 $broken or $Sport::Analytics::NHL::Test::BOXSCORE->{'_gs_no_g'} or $opts->{'es'}
2 2 6 $broken or $Sport::Analytics::NHL::Test::BOXSCORE->{'_gs_no_g'} or $opts->{'es'} or $opts->{'ro'}
640 0 516 426 $event->{'type'} eq 'GOAL' || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} && !&is_noplay_event($event)
39 1725 188 $event->{'type'} eq 'GOAL' or $opts->{'merged'} and (not $Sport::Analytics::NHL::Test::BROKEN_TIMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $event->{'type'} ne 'CHL' and not $event->{'type'} eq 'PENL' && !$event->{'sources'}{'PL'} and $event->{'type'} eq 'GOAL' || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} && !&is_noplay_event($event) and not $event->{'type'} eq 'MISS' && !$event->{'sources'}{'PL'})
650 108 0 1490 &is_unapplicable('coordinates') || &is_noplay_event($event) || $event->{'penalty'} || $Sport::Analytics::NHL::Test::BROKEN_COORDS{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}
659 340 319 1293 $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'BS'} and not $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} or $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'}
684 5 263 1351 $opts->{'gs'} and not $event->{'old'} or $opts->{'pl'}
694 0 26 86 $event->{'time'} eq '20:00' || $Sport::Analytics::NHL::Test::PENALTY_POSSIBLE_NO_OFFENDER{$event->{'penalty'}}
0 304 1047 $opts->{'gs'} or $event->{'type'} eq 'PENL' and $event->{'time'} eq '20:00' || $Sport::Analytics::NHL::Test::PENALTY_POSSIBLE_NO_OFFENDER{$event->{'penalty'}}
707 3 5 799 $event->{'type'} eq 'GOAL' and $opts->{'bh'} or $opts->{'gs'}
5 133 666 $event->{'type'} eq 'GOAL' and $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'}
0 133 674 $event->{'type'} eq 'GOAL' and $event->{'en'} or ($event->{'type'} eq 'GOAL' and $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'})
133 0 666 $event->{'type'} eq 'GOAL' and $event->{'en'} or ($event->{'type'} eq 'GOAL' and $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'}) or $opts->{'merged'} and not $event->{'sources'}{'BS'} and $event->{'type'} eq 'GOAL'
0 0 666 $event->{'type'} eq 'GOAL' and $event->{'en'} or ($event->{'type'} eq 'GOAL' and $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'}) or $opts->{'merged'} and not $event->{'sources'}{'BS'} and $event->{'type'} eq 'GOAL' or $event->{'time'} eq '0:00' and $event->{'type'} ne 'FAC'
714 0 5 34 $opts->{'pb'} or $opts->{'pl'}
5 0 34 $opts->{'pb'} or $opts->{'pl'} or $event->{'so'}
0 0 34 $opts->{'pb'} or $opts->{'pl'} or $event->{'so'} or $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS
718 16 0 18 $event->{'sources'}{'BS'} or $event->{'sources'}{'GS'}
736 28 20 80 not defined $event->{'severity'} or &is_unapplicable('severity')
48 0 80 not defined $event->{'severity'} or &is_unapplicable('severity') or $opts->{'bh'}
0 0 80 not defined $event->{'severity'} or &is_unapplicable('severity') or $opts->{'bh'} or $opts->{'gs'}
0 0 80 not defined $event->{'severity'} or &is_unapplicable('severity') or $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'}
0 0 80 not defined $event->{'severity'} or &is_unapplicable('severity') or $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'} or not $event->{'length'}
0 0 80 not defined $event->{'severity'} or &is_unapplicable('severity') or $opts->{'bh'} or $opts->{'gs'} or $opts->{'pl'} or not $event->{'length'} or $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS
827 0 0 0 $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'GS'} || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'}
0 0 9 $Sport::Analytics::NHL::Test::ZERO_EVENT_GAMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} or $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::NO_EVENTS and not $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'GS'} || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'}
0 1 8 $Sport::Analytics::NHL::Test::ZERO_EVENT_GAMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} or $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::NO_EVENTS and not $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'GS'} || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} or $opts->{'bh'}
1 1 7 $Sport::Analytics::NHL::Test::ZERO_EVENT_GAMES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} or $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} and $Sport::Analytics::NHL::Test::BROKEN_FILES{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}}{'BS'} == $Sport::Analytics::NHL::Test::NO_EVENTS and not $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'GS'} || $Sport::Analytics::NHL::Test::BOXSCORE->{'sources'}{'PL'} or $opts->{'bh'} or $opts->{'gs'}
843 1 1 4 $opts->{'es'} || $opts->{'pl'}
846 0 1 5 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS or $opts->{'es'}
1 1 4 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} and $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$Sport::Analytics::NHL::Test::BOXSCORE->{'_id'}} == $Sport::Analytics::NHL::Test::NO_EVENTS or $opts->{'es'} or $opts->{'ro'}
857 0 2 1 $BOXSCORE->has_html or not &is_unapplicable('attendance')
922 0 0 2 $Sport::Analytics::NHL::Test::BROKEN_FILES{$boxscore_id}{'BS'} or &is_unapplicable('saves')
934 0 36 36 $stat eq 'goals' or $stat eq 'assists'
951 0 0 36 $Sport::Analytics::NHL::Test::BROKEN_FILES{'BS'}{$boxscore_id} or &is_unapplicable($stat)
995 5 0 38 $player->{'broken'} or $player->{'position'} eq 'N/A'
1029 3 8 4 $source eq 'BS' or -f "$path/$source.html" and not $Sport::Analytics::NHL::Test::BROKEN_FILES{$boxscore->{'_id'}}{$source}
1167 0 46 279 $field eq 'file' or ref $event->{$field}