Move make/unmake and History on Game

This commit is contained in:
stefiosif
2024-09-15 18:38:32 +03:00
parent 3383435af7
commit f128b35252
8 changed files with 172 additions and 159 deletions

View File

@@ -109,14 +109,14 @@ mod tests {
let mut game = from_fen(FEN)?;
let board_before_make = game.board.clone();
let mv = Move::new_with_type(Square::B2, Square::B3, MoveType::Quiet);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
let mv = Move::new_with_type(Square::B2, Square::B4, MoveType::DoublePush);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
@@ -128,14 +128,14 @@ mod tests {
let mut game = from_fen(FEN)?;
let board_before_make = game.board.clone();
let mv = Move::new_with_type(Square::D3, Square::B5, MoveType::Capture);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
let mv = Move::new_with_type(Square::C7, Square::C8, MoveType::Promotion(Promote::Queen));
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
@@ -144,8 +144,8 @@ mod tests {
Square::B8,
MoveType::PromotionCapture(Promote::Queen),
);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
@@ -157,8 +157,8 @@ mod tests {
let mut game = from_fen(FEN_2)?;
let board_before_make = game.board.clone();
let mv = Move::new_with_type(Square::A4, Square::B3, MoveType::EnPassant);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);
@@ -170,8 +170,8 @@ mod tests {
let mut game = from_fen(FEN)?;
let board_before_make = game.board.clone();
let mv = Move::new_with_type(Square::E1, Square::C1, MoveType::Castle);
game.board.make_move(&mv);
game.board.unmake_move();
game.make_move(&mv);
game.unmake_move();
assert_eq!(board_before_make, game.board);