Branch Coverage

blib/lib/Sport/Analytics/NHL/Report/BS.pm
Criterion Covered Total %
branch 51 90 56.6


line true false branch
219 0 15 unless $json
224 0 15 unless $self->{'json'}{'gameData'}{'status'}{'abstractGameState'} and $self->{'json'}{'gameData'}{'status'}{'abstractGameState'} eq 'Final'
252 5 1 $json->{'gameData'}{'datetime'}{'endDateTime'} ? :
263 0 6 if ($json->{'liveData'}{'linescore'}{'hasShootout'})
287 12 10 $official->{'officialType'} eq 'Referee' ? :
298 0 0 if ($Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}} and $Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}}{$player} and $Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}}{$player} == -1)
316 25 12 unless ($ld_player->{'stats'}{'skaterStats'} or $ld_player->{'stats'}{'goalieStats'})
318 0 25 $ld_player->{'position'}{'code'} eq 'G' ? :
328 233 12 $ld_player->{'stats'}{'skaterStats'} ? :
330 0 0 if ($Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}} and $Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}}{$ld_player->{'person'}{'id'}} and ref $Sport::Analytics::NHL::Report::BS::BROKEN_PLAYERS{'BS'}{$self->{'_id'}}{$ld_player->{'person'}{'id'}})
337 12 233 if $player->{'position'} eq 'G'
368 10 2 $ldb_team->{'coaches'}[0]{'person'}{'fullName'} ? :
370 0 12 if $Sport::Analytics::NHL::Report::BS::BROKEN_COACHES{$team->{'coach'}}
377 12 233 if $player->{'decision'}
383 0 12 if $Sport::Analytics::NHL::Report::BS::MISSING_PLAYERS{$self->{'_id'}} and @{$Sport::Analytics::NHL::Report::BS::MISSING_PLAYERS{$self->{'_id'}}[$t];}
384 0 12 unless $team->{'_decision'}
399 0 0 if $json->{'liveData'}{'decisions'}{$star}
424 15 3 $ld_period->{'startTime'} ? :
15 3 $ld_period->{'endTime'} ? :
426 0 18 $ld_period->{'periodType'} eq 'OVERTIME' ? :
450 0 100 if ($event->{'penalty'} =~ /bench/i and not $event->{'penalty'} =~ /leaving/i)
451 0 0 if $event->{'player1'}
454 5 95 if ($event->{'penalty'} =~ /too many/i or $event->{'description'} =~ /^\s+against/i) { }
0 95 elsif ($event->{'penalty'} =~ /(.*\w)\W*\bcoach$/i) { }
455 5 0 if $event->{'player1'}
460 0 0 if $event->{'player1'}
474 50 52 $_->{'playerType'} eq 'Assist' ? :
523 0 1616 if ($Sport::Analytics::NHL::Report::BS::BROKEN_EVENTS{'BS'}{$event->{'game_id'}} and my $evx = $Sport::Analytics::NHL::Report::BS::BROKEN_EVENTS{'BS'}{$event->{'game_id'}}{$ld_event->{'about'}{'eventIdx'}})
537 0 100 if ($event->{'type'} eq 'PENL' and $event->{'description'} =~ /served by/i and not $event->{'servedby'})
545 0 0 $event->{'description'} =~ /\b(illegal|official|proceed|dress|refusal|objects|misconduct|ineligible|conduct|bench|coach|delay|abus|leaving)/i && !($event->{'description'} =~ /leaves.*bench/i) || $event->{'severity'} =~ /BENCH/ || $event->{'description'} =~ /minor served by/i ? :
550 0 0 if (defined $event->{$field})
553 0 0 if ($field eq 'player1')
554 0 0 $event->{'description'} =~ /coach/i ? :
568 0 26 if ($event->{'type'} eq 'GOAL' and not $event->{'en'} and not $event->{'player2'})
573 0 0 $event->{'team1'} eq $self->{'teams'}[0]{'name'} ? :
595 0 1651 if $Sport::Analytics::NHL::Report::BS::BROKEN_EVENTS{'BS'}{$self->{'_id'}}{$ld_event->{'about'}{'eventIdx'}} and $Sport::Analytics::NHL::Report::BS::BROKEN_EVENTS{'BS'}{$self->{'_id'}}{$ld_event->{'about'}{'eventIdx'}} eq '-1'
596 35 1616 if grep {$_ eq $ld_event->{'result'}{'eventTypeId'};} @JS_IGNORED_EVENT_TYPES
616 0 1616 $ld_event->{'about'}{'periodType'} eq 'SHOOTOUT' ? :
0 1616 $Sport::Analytics::NHL::Report::BS::BROKEN_EVENTS{'BS'}{$self->{'_id'}}{$ld_event->{'about'}{'eventIdx'}} ? :
1336 280 $ld_event->{'team'} ? :
618 786 830 if $event->{'time'} =~ /^0/
620 0 1616 if $Sport::Analytics::NHL::Report::BS::SPECIAL_EVENTS{$self->{'_id'}} and $Sport::Analytics::NHL::Report::BS::SPECIAL_EVENTS{$self->{'_id'}}{$ld_event->{'about'}{'eventIdx'}}
638 296 35 if (not $player->{'broken'}) { }
639 16 280 if defined $player->{'pim'}
665 5 0 if (@{$self->{'json'}{'liveData'}{'plays'}{'allPlays'};}) { }