diff --git a/board/src/position/position.rs b/board/src/position/position.rs index f0535f7..9e1dfa6 100644 --- a/board/src/position/position.rs +++ b/board/src/position/position.rs @@ -239,7 +239,7 @@ impl fmt::Display for Position { #[cfg(test)] mod tests { - use crate::position; + use crate::{position, Castle, Color}; #[test] fn king_is_in_check() { @@ -258,4 +258,22 @@ mod tests { ]; assert!(!pos.is_king_in_check()); } + + #[test] + fn rook_for_castle() { + let pos = position![ + White King on E1, + White Rook on H1, + White Rook on A1, + ]; + + assert_eq!( + pos.rook_for_castle(Color::White, Castle::KingSide), + Some(piece!(White Rook on H1)) + ); + assert_eq!( + pos.rook_for_castle(Color::White, Castle::QueenSide), + Some(piece!(White Rook on A1)) + ); + } } diff --git a/board/src/sight.rs b/board/src/sight.rs index b45883e..9f4a10b 100644 --- a/board/src/sight.rs +++ b/board/src/sight.rs @@ -230,7 +230,7 @@ mod tests { #[macro_use] mod knight { - use crate::{sight::Sight, Position}; + use crate::sight::Sight; sight_test!( f6_knight,