Branch Coverage

blib/lib/Games/ABC_Path/Solver/Board.pm
Criterion Covered Total %
branch 62 96 64.5


line true false branch
40 0 25 unless (defined $index)
51 90 88 if (@_)
61 2 84 if (@_)
71 0 10385 if (@_)
117 3 2 if (@_)
128 2 11422 if (@_)
147 1 1 unless (defined $layout_string)
164 0 11421 if ($letter < 0 or $letter >= 25)
188 0 1885 if (@_ != 4)
193 0 145 unless ($verdict == $ABCP_VERDICT_NO or $verdict == $ABCP_VERDICT_MAYBE or $verdict == $ABCP_VERDICT_YES)
214 0 1730 if ($self->_error)
220 0 8650 if ($self->_error)
246 120 480 exists $cell_is_maybe{$xy->_to_s} ? :
265 25 600 $l_xy->_equal($xy) ? :
277 25 600 if ($other_letter == $letter)
326 172 2328 if ($ver == $ABCP_VERDICT_YES or $ver == $ABCP_VERDICT_MAYBE)
333 0 100 if (not @true_cells) { }
63 37 elsif (@true_cells == 1) { }
341 8 55 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
366 1374 174 if $self->_x_in_range($_->[0])
377 96 4 $letter > 0 ? :
96 4 $letter < $Games::ABC_Path::Solver::Board::ABCP_MAX_LETTER ? :
385 1656 3144 if ($neighbourhood[$xy->y][$xy->x])
393 0 3144 if ($existing_verdict == $ABCP_VERDICT_YES)
399 60 3084 if ($existing_verdict == $ABCP_VERDICT_MAYBE)
431 0 100 if (not @$letters_aref) { }
79 21 elsif (@$letters_aref == 1) { }
440 16 63 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
481 0 3 if ($self->_error)
512 0 1 &blessed($obj) && $obj->isa('Games::ABC_Path::Solver::Coord') ? :
524 0 1 if ($self->_error)
537 0 25 if (not @$letters_aref) { }
0 25 elsif (@$letters_aref > 1) { }
543 0 0 if (not @min_coords or @$letters_aref < @min_options)
553 0 1 if ($self->_error)
558 0 1 if (@min_coords) { }
585 0 0 if ($recurse_solver->_error) { }
614 0 0 if (not $count) { }
0 0 elsif ($count == 1) { }
647 0 25 if ($count_letters{$letter}++)
738 1 4 if ($s =~ /($letter_re)/g)
741 0 1 if (defined $clue_letter)
749 0 1 unless (defined $clue_letter)
766 0 1 if ($args->{'version'} ne 1)
772 0 1 unless ($layout_string =~ /\A$top_bottom_re${inner_re}{5}$top_bottom_re\z/ms)
812 25 5 length $_ == 1 ? :
845 0 0 unless open my $in_fh, '<', $board_fn
852 0 0 unless ($first_line =~ /\A\Q$magic\E\s*\z/)