Condition Coverage

blib/lib/Chess4p/Board.pm
Criterion Covered Total %
condition 83 109 76.1


and 3 conditions

line !l l&&!r l&&r condition
174 16188 16188 222858 $s >= 0 and $s < 64
357 1 1 0 $pos->{'to_move'} eq "w" and not $pos->{'bb'}{'7'} & $pawn_mask
360 1 1 0 $pos->{'to_move'} eq "b" and not $pos->{'bb'}{'1'} & $pawn_mask
569 10 0 11 $from == 4 and $pos->{'bb'}{'6'} & $bb_e1
0 0 10 $from == 60 and $pos->{'bb'}{'12'} & $bb_e8
631 0 0 8 $pos->{'ep_square'} == $move->to && $pawns & ~$bb_squares[$move->from] && ($diff == 7 || $diff == 9) && !($pos->{'bb'}{'all'} & ~$bb_squares[$move->to])
679 1 1 5 $result && !$pos->_ep_skewered($king, $from)
1077 1213 0 42 $promo_index > 0 and $promo_index < 4
1087 1185 19 231 $pawn_capturers and not $targets
1215 6 6 9 $bb and ~$bb_squares[_msb($bb)] == $bb
1337 3 0 0 $diff == 16 and _square_rank($move->from) == 1
3 0 0 $diff == -16 and _square_rank($move->from) == 6
2 0 1 defined $ep_square and $move->to == $ep_square
2 0 1 defined $ep_square and $move->to == $ep_square and $captured_pcs eq "."
0 1 0 defined $ep_square and $move->to == $ep_square and $captured_pcs eq "." and abs $diff == 7 || abs $diff == 9
1360 3 1 1 ($pcs == 6 || $pcs == 12) && _square_distance($move->from, $move->to) > 1

or 2 conditions

line l !l condition
710 120 0 $pos->{'bb'}{$pcs} // "undef"
919 1 5 $pos->{'ep_square'} || '-'

or 3 conditions

line l !l&&r !l&&!r condition
507 69 153 0 $occupied //= $pos->{'bb'}{'all'}
565 36 2 22 ($king ^ $rook ^ $pos->{'bb'}{'all'}) & ($king_path | $rook_path | $king_to | $rook_to) or $pos->_attacked_for_king($king_path | $king, $king ^ $pos->{'bb'}{'all'})
38 1 21 ($king ^ $rook ^ $pos->{'bb'}{'all'}) & ($king_path | $rook_path | $king_to | $rook_to) or $pos->_attacked_for_king($king_path | $king, $king ^ $pos->{'bb'}{'all'}) or $pos->_attacked_for_king($king_to, $king ^ $rook ^ $rook_to ^ $pos->{'bb'}{'all'})
1010 2 0 0 not defined $valid_ep_sqr or $valid_ep_sqr != $pos->{'ep_square'}
1029 12 45 0 $from_bb_filter //= $bb_all
1030 12 45 0 $to_bb_filter //= $bb_all
1094 19 9 1176 $pawn_capturers or $targets
1097 4 6 18 $rk == 0 or $rk == 7
1110 2 2 169 $rk == 0 or $rk == 7
1124 848 110 68 $work_bits or $attack_bits
1128 40 32 217 $pcs == 2 or $pcs == 8
21 14 182 $pcs == 6 or $pcs == 12
37 31 114 $pcs == 3 or $pcs == 9
45 32 37 $pcs == 4 or $pcs == 10
21 16 0 $pcs == 5 or $pcs == 11
1146 746 59 477 $pos->{'table'}[$to] == 0 or $pos->{'to_move'} eq "w" ? $pos->{'table'}[$to] >= 7 : $pos->{'table'}[$to] < 7
1330 2 0 3 $pcs == 6 or $pcs == 12
1335 2 1 2 $pcs == 1 or $pcs == 7
1337 0 1 0 abs $diff == 7 || abs $diff == 9