[moves] Two new pawn move tests

This commit is contained in:
Eryn Wells 2025-05-25 11:05:21 -07:00
parent faca844733
commit 2c6a7828bc

View file

@ -6,7 +6,7 @@ use super::GeneratedMove;
use crate::{Move, PromotionShape};
use chessfriend_bitboard::{bit_scanner::TrailingBitScanner, BitBoard};
use chessfriend_board::Board;
use chessfriend_core::{Color, Direction, Rank, Shape, Square};
use chessfriend_core::{Color, Direction, Rank, Square};
use std::slice;
pub struct PawnMoveGenerator {
@ -364,6 +364,44 @@ mod tests {
);
}
#[test]
fn white_f6_right_captures() {
let white_captures_board = test_board!(White Pawn on F6, Black Queen on G7);
let generated_moves: HashSet<GeneratedMove> =
PawnMoveGenerator::new(&white_captures_board, Some(Color::White)).collect();
assert_eq!(
generated_moves,
[
GeneratedMove {
ply: Move::capture(Square::F6, Square::G7)
},
GeneratedMove {
ply: Move::quiet(Square::F6, Square::F7)
}
]
.into()
);
}
#[test]
fn black_d5_right_captures() {
let black_captures_board = test_board!(Black Pawn on D5, White Queen on C4);
let generated_moves: HashSet<GeneratedMove> =
PawnMoveGenerator::new(&black_captures_board, Some(Color::Black)).collect();
assert_eq!(
generated_moves,
[
GeneratedMove {
ply: Move::capture(Square::D5, Square::C4)
},
GeneratedMove {
ply: Move::quiet(Square::D5, Square::D4)
}
]
.into()
);
}
#[test]
fn white_g7_push_promotions() {
let board = test_board!(White Pawn on G7);