Branch Coverage

blib/lib/Games/ABC_Path/Solver/Board.pm
Criterion Covered Total %
branch 77 96 80.2


line true false branch
37 0 75 unless (defined $index)
49 296 288 if (@_)
61 8 276 if (@_)
73 1 40163 if (@_)
124 11 7 if (@_)
136 8 43697 if (@_)
156 3 5 unless (defined $layout_string)
173 0 43692 if ($letter < 0 or $letter >= 25)
193 0 5810 if (@_ != 4)
198 0 438 unless ($verdict == $ABCP_VERDICT_NO or $verdict == $ABCP_VERDICT_MAYBE or $verdict == $ABCP_VERDICT_YES)
219 0 6690 if ($self->_error)
225 1 33448 if ($self->_error)
253 360 1440 exists $cell_is_maybe{$xy->_to_s} ? :
273 78 1872 $l_xy->_equal($xy) ? :
287 78 1872 if ($other_letter == $letter)
343 627 9373 if ($ver == $ABCP_VERDICT_YES or $ver == $ABCP_VERDICT_MAYBE)
351 0 400 if (not @true_cells) { }
270 130 elsif (@true_cells == 1) { }
359 26 244 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
382 4989 654 if $self->_x_in_range($_->[0])
396 384 16 $letter > 0 ? :
384 16 $letter < $Games::ABC_Path::Solver::Board::ABCP_MAX_LETTER ? :
405 6228 12972 if ($neighbourhood[$xy->y][$xy->x])
413 0 12972 if ($existing_verdict == $ABCP_VERDICT_YES)
419 188 12784 if ($existing_verdict == $ABCP_VERDICT_MAYBE)
454 1 397 if (not @$letters_aref) { }
315 82 elsif (@$letters_aref == 1) { }
463 47 268 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
505 1 11 if ($self->_error)
536 0 3 builtin::blessed($obj) && $obj->isa('Games::ABC_Path::Solver::Coord') ? :
549 1 4 if ($self->_error)
563 0 100 if (not @$letters_aref) { }
4 96 elsif (@$letters_aref > 1) { }
569 1 3 if (not @min_coords or @$letters_aref < @min_options)
580 0 4 if ($self->_error)
585 1 3 if (@min_coords) { }
611 1 1 if ($recurse_solver->_error) { }
639 0 1 if (not $count) { }
1 0 elsif ($count == 1) { }
672 0 75 if ($count_letters{$letter}++)
777 3 12 if ($s =~ /($letter_re)/gu)
780 0 3 if (defined $clue_letter)
788 0 3 unless (defined $clue_letter)
805 0 3 if ($args->{'version'} ne 1)
811 0 3 unless ($layout_string =~ /\A$top_bottom_re${inner_re}{5}$top_bottom_re\z/msu)
849 75 15 if (length $_ == 1) { }
887 0 2 unless &Games::ABC_Path::Solver::Board::open(my $in_fh, "<", $board_fn)
894 0 2 unless ($first_line =~ /\A\Q$magic\E\s*\z/u)