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)
49 90 88 if (@_)
61 2 84 if (@_)
73 0 10385 if (@_)
124 3 2 if (@_)
136 2 11422 if (@_)
156 1 1 unless (defined $layout_string)
173 0 11421 if ($letter < 0 or $letter >= 25)
193 0 1885 if (@_ != 4)
198 0 145 unless ($verdict == $ABCP_VERDICT_NO or $verdict == $ABCP_VERDICT_MAYBE or $verdict == $ABCP_VERDICT_YES)
219 0 1730 if ($self->_error)
225 0 8650 if ($self->_error)
253 120 480 exists $cell_is_maybe{$xy->_to_s} ? :
273 25 600 $l_xy->_equal($xy) ? :
287 25 600 if ($other_letter == $letter)
343 172 2328 if ($ver == $ABCP_VERDICT_YES or $ver == $ABCP_VERDICT_MAYBE)
351 0 100 if (not @true_cells) { }
63 37 elsif (@true_cells == 1) { }
359 8 55 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
382 1374 174 if $self->_x_in_range($_->[0])
396 96 4 $letter > 0 ? :
96 4 $letter < $Games::ABC_Path::Solver::Board::ABCP_MAX_LETTER ? :
405 1656 3144 if ($neighbourhood[$xy->y][$xy->x])
413 0 3144 if ($existing_verdict == $ABCP_VERDICT_YES)
419 60 3084 if ($existing_verdict == $ABCP_VERDICT_MAYBE)
454 0 100 if (not @$letters_aref) { }
79 21 elsif (@$letters_aref == 1) { }
463 16 63 if ($self->_get_verdict($letter, $xy) == $ABCP_VERDICT_MAYBE)
505 0 3 if ($self->_error)
536 0 1 &blessed($obj) && $obj->isa('Games::ABC_Path::Solver::Coord') ? :
549 0 1 if ($self->_error)
563 0 25 if (not @$letters_aref) { }
0 25 elsif (@$letters_aref > 1) { }
569 0 0 if (not @min_coords or @$letters_aref < @min_options)
580 0 1 if ($self->_error)
585 0 1 if (@min_coords) { }
611 0 0 if ($recurse_solver->_error) { }
639 0 0 if (not $count) { }
0 0 elsif ($count == 1) { }
672 0 25 if ($count_letters{$letter}++)
777 1 4 if ($s =~ /($letter_re)/g)
780 0 1 if (defined $clue_letter)
788 0 1 unless (defined $clue_letter)
805 0 1 if ($args->{'version'} ne 1)
811 0 1 unless ($layout_string =~ /\A$top_bottom_re${inner_re}{5}$top_bottom_re\z/ms)
849 25 5 length $_ == 1 ? :
887 0 0 unless open my $in_fh, '<', $board_fn
894 0 0 unless ($first_line =~ /\A\Q$magic\E\s*\z/)