From dab787170cd7f26f56c255cb3e92827083bd3288 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sun, 28 Jan 2024 10:28:01 -0800 Subject: [PATCH] [position] Clean up rook unit tests Use test_position! instead of position! Spell out the PlacedPiece constructor in the test_position! macro. --- position/src/macros.rs | 10 +++++++++- position/src/move_generator/rook.rs | 11 +++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/position/src/macros.rs b/position/src/macros.rs index 13d2c38..178b4c4 100644 --- a/position/src/macros.rs +++ b/position/src/macros.rs @@ -22,7 +22,15 @@ macro_rules! test_position { [$($color:ident $shape:ident on $square:ident),* $(,)?] => { { let pos = $crate::PositionBuilder::new() - $(.place_piece(piece!($color $shape on $square)))* + $(.place_piece( + chessfriend_core::PlacedPiece::new( + chessfriend_core::Piece::new( + chessfriend_core::Color::$color, + chessfriend_core::Shape::$shape + ), + chessfriend_core::Square::$square + )) + )* .build(); println!("{pos}"); pos diff --git a/position/src/move_generator/rook.rs b/position/src/move_generator/rook.rs index dae6daa..71e17e7 100644 --- a/position/src/move_generator/rook.rs +++ b/position/src/move_generator/rook.rs @@ -60,14 +60,13 @@ impl MoveGeneratorInternal for ClassicalMoveGenerator { #[cfg(test)] mod tests { use super::*; - use crate::{position, position::DiagramFormatter}; + use crate::{position::DiagramFormatter, test_position}; use chessfriend_bitboard::{bitboard, BitBoard}; use chessfriend_core::Color; #[test] fn classical_single_rook_bitboard() { - let pos = position![White Rook on A2]; - println!("{}", DiagramFormatter::new(&pos)); + let pos = test_position![White Rook on A2]; let generator = ClassicalMoveGenerator::new(&pos, Color::White); @@ -80,7 +79,7 @@ mod tests { /// Test that a rook can move up to, but not onto, a friendly piece. #[test] fn classical_single_rook_with_same_color_blocker_bitboard() { - let mut pos = position![ + let pos = test_position![ White Rook on A1, White Knight on E1, ]; @@ -100,7 +99,7 @@ mod tests { /// Test that a rook can move up to, and then capture, an enemy piece. #[test] fn classical_single_rook_with_opposing_color_blocker_bitboard() { - let pos = position![ + let pos = test_position![ White Rook on A1, Black Knight on E1, ]; @@ -115,7 +114,7 @@ mod tests { #[test] fn classical_single_rook_in_center() { - let pos = position![White Rook on D4]; + let pos = test_position![White Rook on D4]; let generator = ClassicalMoveGenerator::new(&pos, Color::White);