Branch Coverage

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


line true false branch
37 0 25 unless (defined $index)
48 90 88 if (@_)
58 2 84 if (@_)
68 0 10385 if (@_)
114 3 2 if (@_)
125 2 11422 if (@_)
144 1 1 unless (defined $layout_string)
161 0 11421 if ($letter < 0 or $letter >= 25)
185 0 1885 if (@_ != 4)
190 0 145 unless ($verdict == $ABCP_VERDICT_NO or $verdict == $ABCP_VERDICT_MAYBE or $verdict == $ABCP_VERDICT_YES)
211 0 1730 if ($self->_error)
217 0 8650 if ($self->_error)
243 120 480 exists $cell_is_maybe{$xy->_to_s} ? :
262 25 600 $l_xy->_equal($xy) ? :
274 25 600 if ($other_letter == $letter)
323 172 2328 if ($ver == $ABCP_VERDICT_YES or $ver == $ABCP_VERDICT_MAYBE)
330 0 100 if (not @true_cells) { }
63 37 elsif (@true_cells == 1) { }
338 8 55 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
363 1374 174 if $self->_x_in_range($_->[0])
374 96 4 $letter > 0 ? :
96 4 $letter < $Games::ABC_Path::Solver::Board::ABCP_MAX_LETTER ? :
382 1656 3144 if ($neighbourhood[$xy->y][$xy->x])
390 0 3144 if ($existing_verdict == $ABCP_VERDICT_YES)
396 60 3084 if ($existing_verdict == $ABCP_VERDICT_MAYBE)
428 0 100 if (not @$letters_aref) { }
79 21 elsif (@$letters_aref == 1) { }
437 16 63 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
478 0 3 if ($self->_error)
509 0 1 &blessed($obj) && $obj->isa('Games::ABC_Path::Solver::Coord') ? :
521 0 1 if ($self->_error)
534 0 25 if (not @$letters_aref) { }
0 25 elsif (@$letters_aref > 1) { }
540 0 0 if (not @min_coords or @$letters_aref < @min_options)
550 0 1 if ($self->_error)
555 0 1 if (@min_coords) { }
582 0 0 if ($recurse_solver->_error) { }
611 0 0 if (not $count) { }
0 0 elsif ($count == 1) { }
644 0 25 if ($count_letters{$letter}++)
735 1 4 if ($s =~ /($letter_re)/g)
738 0 1 if (defined $clue_letter)
746 0 1 unless (defined $clue_letter)
763 0 1 if ($args->{'version'} ne 1)
769 0 1 unless ($layout_string =~ /\A$top_bottom_re${inner_re}{5}$top_bottom_re\z/ms)
809 25 5 length $_ == 1 ? :
842 0 0 unless open my $in_fh, '<', $board_fn
849 0 0 unless ($first_line =~ /\A\Q$magic\E\s*\z/)