diff --git a/board/src/check.rs b/board/src/check.rs index 92fa168..8e6246d 100644 --- a/board/src/check.rs +++ b/board/src/check.rs @@ -7,11 +7,16 @@ use chessfriend_core::{Color, Piece}; impl Board { #[must_use] pub fn active_color_is_in_check(&self) -> bool { - self.color_is_in_check(self.active_color) + self.unwrapped_color_is_in_check(self.active_color) } #[must_use] - pub fn color_is_in_check(&self, color: Color) -> bool { + pub fn color_is_in_check(&self, color: Option) -> bool { + self.unwrapped_color_is_in_check(self.unwrap_color(color)) + } + + #[must_use] + pub fn unwrapped_color_is_in_check(&self, color: Color) -> bool { let king = self.king_bitboard(color); let opposing_sight = self.opposing_sight(color); (king & opposing_sight).is_populated() @@ -34,7 +39,7 @@ mod tests { Black Rook on F3, ); - assert!(board.color_is_in_check(Color::White)); + assert!(board.unwrapped_color_is_in_check(Color::White)); } #[test] @@ -44,6 +49,6 @@ mod tests { Black Rook on B4, ); - assert!(!board.color_is_in_check(Color::White)); + assert!(!board.unwrapped_color_is_in_check(Color::White)); } }