[board, explorer, moves] Make Board::active_color private
Make the struct attribute private, and export two new methods. A getter, active_color(), and a setter, set_active_color(). Update all references to the attribute to use the methods.
This commit is contained in:
parent
cae93cb090
commit
eaab34587c
10 changed files with 55 additions and 40 deletions
|
|
@ -14,7 +14,7 @@ pub type FullMoveClock = u32;
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Eq, PartialEq)]
|
#[derive(Clone, Debug, Default, Eq, PartialEq)]
|
||||||
pub struct Board {
|
pub struct Board {
|
||||||
pub active_color: Color,
|
active_color: Color,
|
||||||
pieces: PieceSet,
|
pieces: PieceSet,
|
||||||
pub castling_rights: castle::Rights,
|
pub castling_rights: castle::Rights,
|
||||||
pub en_passant_target: Option<Square>,
|
pub en_passant_target: Option<Square>,
|
||||||
|
|
@ -58,6 +58,19 @@ impl Board {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Board {
|
impl Board {
|
||||||
|
#[must_use]
|
||||||
|
pub fn active_color(&self) -> Color {
|
||||||
|
self.active_color
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_active_color(&mut self, color: Color) {
|
||||||
|
if color == self.active_color {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
self.active_color = color;
|
||||||
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn get_piece(&self, square: Square) -> Option<Piece> {
|
pub fn get_piece(&self, square: Square) -> Option<Piece> {
|
||||||
self.pieces.get(square)
|
self.pieces.get(square)
|
||||||
|
|
|
||||||
|
|
@ -78,13 +78,13 @@ impl Board {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn castling_king(&self, square: Square) -> Option<Piece> {
|
pub(crate) fn castling_king(&self, square: Square) -> Option<Piece> {
|
||||||
let active_color = self.active_color;
|
let active_color = self.active_color();
|
||||||
self.get_piece(square)
|
self.get_piece(square)
|
||||||
.filter(|piece| piece.color == active_color && piece.is_king())
|
.filter(|piece| piece.color == active_color && piece.is_king())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(crate) fn castling_rook(&self, square: Square) -> Option<Piece> {
|
pub(crate) fn castling_rook(&self, square: Square) -> Option<Piece> {
|
||||||
let active_color = self.active_color;
|
let active_color = self.active_color();
|
||||||
self.get_piece(square)
|
self.get_piece(square)
|
||||||
.filter(|piece| piece.color == active_color && piece.is_rook())
|
.filter(|piece| piece.color == active_color && piece.is_rook())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ use chessfriend_core::{Color, Piece};
|
||||||
impl Board {
|
impl Board {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn active_color_is_in_check(&self) -> bool {
|
pub fn active_color_is_in_check(&self) -> bool {
|
||||||
self.unwrapped_color_is_in_check(self.active_color)
|
self.unwrapped_color_is_in_check(self.active_color())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@ impl ToFenStr for Board {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
write!(fen_string, " {}", self.active_color.to_fen_str()?)
|
write!(fen_string, " {}", self.active_color().to_fen_str()?)
|
||||||
.map_err(ToFenStrError::FmtError)?;
|
.map_err(ToFenStrError::FmtError)?;
|
||||||
|
|
||||||
let castling = [
|
let castling = [
|
||||||
|
|
@ -224,7 +224,7 @@ impl FromFenStr for Board {
|
||||||
.next()
|
.next()
|
||||||
.ok_or(FromFenStrError::MissingField(Field::PlayerToMove))?,
|
.ok_or(FromFenStrError::MissingField(Field::PlayerToMove))?,
|
||||||
)?;
|
)?;
|
||||||
board.active_color = active_color;
|
board.set_active_color(active_color);
|
||||||
|
|
||||||
let castling_rights = fields
|
let castling_rights = fields
|
||||||
.next()
|
.next()
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ macro_rules! test_board {
|
||||||
chessfriend_core::Square::$square,
|
chessfriend_core::Square::$square,
|
||||||
$crate::PlacePieceStrategy::default());
|
$crate::PlacePieceStrategy::default());
|
||||||
)*
|
)*
|
||||||
board.active_color = chessfriend_core::Color::$to_move;
|
board.set_active_color(chessfriend_core::Color::$to_move);
|
||||||
board.en_passant_target = Some(chessfriend_core::Square::$en_passant);
|
board.en_passant_target = Some(chessfriend_core::Square::$en_passant);
|
||||||
|
|
||||||
println!("{}", board.display());
|
println!("{}", board.display());
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ impl Board {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn active_sight(&self) -> BitBoard {
|
pub fn active_sight(&self) -> BitBoard {
|
||||||
self.friendly_sight(self.active_color)
|
self.friendly_sight(self.active_color())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A [`BitBoard`] of all squares the given color can see.
|
/// A [`BitBoard`] of all squares the given color can see.
|
||||||
|
|
@ -45,7 +45,7 @@ impl Board {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn active_color_opposing_sight(&self) -> BitBoard {
|
pub fn active_color_opposing_sight(&self) -> BitBoard {
|
||||||
self.opposing_sight(self.active_color)
|
self.opposing_sight(self.active_color())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// A [`BitBoard`] of all squares visible by colors that oppose the given color.
|
/// A [`BitBoard`] of all squares visible by colors that oppose the given color.
|
||||||
|
|
|
||||||
|
|
@ -283,7 +283,7 @@ fn main() -> Result<(), String> {
|
||||||
loop {
|
loop {
|
||||||
if should_print_position {
|
if should_print_position {
|
||||||
println!("{}", &state.position);
|
println!("{}", &state.position);
|
||||||
println!("{} to move.", state.position.board.active_color);
|
println!("{} to move.", state.position.board.active_color());
|
||||||
}
|
}
|
||||||
|
|
||||||
let readline = editor.readline("\n? ");
|
let readline = editor.readline("\n? ");
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@ impl<T: BoardProvider> MakeMoveInternal for T {
|
||||||
|
|
||||||
board.color_can_castle(wing, None)?;
|
board.color_can_castle(wing, None)?;
|
||||||
|
|
||||||
let active_color = board.active_color;
|
let active_color = board.active_color();
|
||||||
let parameters = Board::castling_parameters(wing, active_color);
|
let parameters = Board::castling_parameters(wing, active_color);
|
||||||
|
|
||||||
let king = board.remove_piece(parameters.origin.king).unwrap();
|
let king = board.remove_piece(parameters.origin.king).unwrap();
|
||||||
|
|
@ -289,9 +289,11 @@ impl<T: BoardProvider> MakeMoveInternal for T {
|
||||||
HalfMoveClock::Advance => board.half_move_clock += 1,
|
HalfMoveClock::Advance => board.half_move_clock += 1,
|
||||||
}
|
}
|
||||||
|
|
||||||
board.active_color = board.active_color.next();
|
let previous_active_color = board.active_color();
|
||||||
|
let active_color = previous_active_color.next();
|
||||||
|
board.set_active_color(active_color);
|
||||||
|
|
||||||
if board.active_color == Color::White {
|
if active_color == Color::White {
|
||||||
board.full_move_number += 1;
|
board.full_move_number += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -343,7 +345,7 @@ impl<T: BoardProvider> MakeMoveInternal for T {
|
||||||
.get_piece(origin_square)
|
.get_piece(origin_square)
|
||||||
.ok_or(MakeMoveError::NoPiece(origin_square))?;
|
.ok_or(MakeMoveError::NoPiece(origin_square))?;
|
||||||
|
|
||||||
if active_piece.color != board.active_color {
|
if active_piece.color != board.active_color() {
|
||||||
return Err(MakeMoveError::NonActiveColor {
|
return Err(MakeMoveError::NonActiveColor {
|
||||||
piece: active_piece,
|
piece: active_piece,
|
||||||
square: origin_square,
|
square: origin_square,
|
||||||
|
|
@ -379,17 +381,17 @@ mod tests {
|
||||||
|
|
||||||
assert_eq!(board.get_piece(Square::C2), None);
|
assert_eq!(board.get_piece(Square::C2), None);
|
||||||
assert_eq!(board.get_piece(Square::C3), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::C3), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.half_move_clock, 1);
|
assert_eq!(board.half_move_clock, 1);
|
||||||
|
|
||||||
board.active_color = Color::White;
|
board.set_active_color(Color::White);
|
||||||
|
|
||||||
let ply = Move::quiet(Square::C3, Square::C4);
|
let ply = Move::quiet(Square::C3, Square::C4);
|
||||||
board.make_move(ply, ValidateMove::Yes)?;
|
board.make_move(ply, ValidateMove::Yes)?;
|
||||||
|
|
||||||
assert_eq!(board.get_piece(Square::C3), None);
|
assert_eq!(board.get_piece(Square::C3), None);
|
||||||
assert_eq!(board.get_piece(Square::C4), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::C4), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.half_move_clock, 2);
|
assert_eq!(board.half_move_clock, 2);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -405,7 +407,7 @@ mod tests {
|
||||||
assert!(result.is_err());
|
assert!(result.is_err());
|
||||||
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::D2), None);
|
assert_eq!(board.get_piece(Square::D2), None);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
assert_eq!(board.half_move_clock, 0);
|
assert_eq!(board.half_move_clock, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -423,7 +425,7 @@ mod tests {
|
||||||
|
|
||||||
assert_eq!(board.get_piece(Square::C2), None);
|
assert_eq!(board.get_piece(Square::C2), None);
|
||||||
assert_eq!(board.get_piece(Square::F5), Some(piece!(White Bishop)));
|
assert_eq!(board.get_piece(Square::F5), Some(piece!(White Bishop)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.half_move_clock, 0);
|
assert_eq!(board.half_move_clock, 0);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -448,7 +450,7 @@ mod tests {
|
||||||
Some(Square::E3),
|
Some(Square::E3),
|
||||||
"en passant square not set"
|
"en passant square not set"
|
||||||
);
|
);
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.half_move_clock, 1);
|
assert_eq!(board.half_move_clock, 1);
|
||||||
|
|
||||||
let ply = Move::en_passant_capture(Square::F4, Square::E3);
|
let ply = Move::en_passant_capture(Square::F4, Square::E3);
|
||||||
|
|
@ -477,7 +479,7 @@ mod tests {
|
||||||
let result = board.make_move(ply, ValidateMove::Yes);
|
let result = board.make_move(ply, ValidateMove::Yes);
|
||||||
|
|
||||||
assert!(result.is_err());
|
assert!(result.is_err());
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
assert_eq!(board.get_piece(Square::A7), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::A7), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::A8), None);
|
assert_eq!(board.get_piece(Square::A8), None);
|
||||||
assert_eq!(board.half_move_clock, 0);
|
assert_eq!(board.half_move_clock, 0);
|
||||||
|
|
@ -495,7 +497,7 @@ mod tests {
|
||||||
|
|
||||||
assert_eq!(board.get_piece(Square::F7), None);
|
assert_eq!(board.get_piece(Square::F7), None);
|
||||||
assert_eq!(board.get_piece(Square::F8), Some(piece!(White Queen)));
|
assert_eq!(board.get_piece(Square::F8), Some(piece!(White Queen)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.half_move_clock, 0);
|
assert_eq!(board.half_move_clock, 0);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -511,7 +513,7 @@ mod tests {
|
||||||
let ply = Move::castle(Wing::KingSide);
|
let ply = Move::castle(Wing::KingSide);
|
||||||
board.make_move(ply, ValidateMove::Yes)?;
|
board.make_move(ply, ValidateMove::Yes)?;
|
||||||
|
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.get_piece(Square::E1), None);
|
assert_eq!(board.get_piece(Square::E1), None);
|
||||||
assert_eq!(board.get_piece(Square::H1), None);
|
assert_eq!(board.get_piece(Square::H1), None);
|
||||||
assert_eq!(board.get_piece(Square::G1), Some(piece!(White King)));
|
assert_eq!(board.get_piece(Square::G1), Some(piece!(White King)));
|
||||||
|
|
@ -533,7 +535,7 @@ mod tests {
|
||||||
let ply = Move::castle(Wing::QueenSide);
|
let ply = Move::castle(Wing::QueenSide);
|
||||||
board.make_move(ply, ValidateMove::Yes)?;
|
board.make_move(ply, ValidateMove::Yes)?;
|
||||||
|
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
assert_eq!(board.get_piece(Square::E1), None);
|
assert_eq!(board.get_piece(Square::E1), None);
|
||||||
assert_eq!(board.get_piece(Square::A1), None);
|
assert_eq!(board.get_piece(Square::A1), None);
|
||||||
assert_eq!(board.get_piece(Square::C1), Some(piece!(White King)));
|
assert_eq!(board.get_piece(Square::C1), Some(piece!(White King)));
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ impl MoveRecord {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn new(board: &Board, ply: Move, capture: Option<Piece>) -> Self {
|
pub fn new(board: &Board, ply: Move, capture: Option<Piece>) -> Self {
|
||||||
Self {
|
Self {
|
||||||
color: board.active_color,
|
color: board.active_color(),
|
||||||
ply,
|
ply,
|
||||||
en_passant_target: board.en_passant_target,
|
en_passant_target: board.en_passant_target,
|
||||||
castling_rights: board.castling_rights,
|
castling_rights: board.castling_rights,
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ impl<T: BoardProvider> UnmakeMove for T {
|
||||||
}
|
}
|
||||||
|
|
||||||
let board = self.board_mut();
|
let board = self.board_mut();
|
||||||
board.active_color = record.color;
|
board.set_active_color(record.color);
|
||||||
board.en_passant_target = record.en_passant_target;
|
board.en_passant_target = record.en_passant_target;
|
||||||
board.castling_rights = record.castling_rights;
|
board.castling_rights = record.castling_rights;
|
||||||
board.half_move_clock = record.half_move_clock;
|
board.half_move_clock = record.half_move_clock;
|
||||||
|
|
@ -238,14 +238,14 @@ mod tests {
|
||||||
// Verify move was made
|
// Verify move was made
|
||||||
assert_eq!(board.get_piece(Square::C2), None);
|
assert_eq!(board.get_piece(Square::C2), None);
|
||||||
assert_eq!(board.get_piece(Square::C3), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::C3), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
board.unmake_move(&record)?;
|
board.unmake_move(&record)?;
|
||||||
|
|
||||||
// Verify original state restored
|
// Verify original state restored
|
||||||
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::C3), None);
|
assert_eq!(board.get_piece(Square::C3), None);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -261,7 +261,7 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::E2), None);
|
assert_eq!(board.get_piece(Square::E2), None);
|
||||||
assert_eq!(board.get_piece(Square::E4), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::E4), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.en_passant_target, Some(Square::E3));
|
assert_eq!(board.en_passant_target, Some(Square::E3));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
board.unmake_move(&record)?;
|
board.unmake_move(&record)?;
|
||||||
|
|
||||||
|
|
@ -269,7 +269,7 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::E2), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::E2), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::E4), None);
|
assert_eq!(board.get_piece(Square::E4), None);
|
||||||
assert_eq!(board.en_passant_target, None);
|
assert_eq!(board.en_passant_target, None);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -288,14 +288,14 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::C2), None);
|
assert_eq!(board.get_piece(Square::C2), None);
|
||||||
assert_eq!(board.get_piece(Square::F5), Some(piece!(White Bishop)));
|
assert_eq!(board.get_piece(Square::F5), Some(piece!(White Bishop)));
|
||||||
assert_eq!(record.captured_piece, Some(piece!(Black Rook)));
|
assert_eq!(record.captured_piece, Some(piece!(Black Rook)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
board.unmake_move(&record)?;
|
board.unmake_move(&record)?;
|
||||||
|
|
||||||
// Verify original state restored
|
// Verify original state restored
|
||||||
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Bishop)));
|
assert_eq!(board.get_piece(Square::C2), Some(piece!(White Bishop)));
|
||||||
assert_eq!(board.get_piece(Square::F5), Some(piece!(Black Rook)));
|
assert_eq!(board.get_piece(Square::F5), Some(piece!(Black Rook)));
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -335,7 +335,7 @@ mod tests {
|
||||||
Some(piece!(White Pawn)),
|
Some(piece!(White Pawn)),
|
||||||
"captured pawn was not restored"
|
"captured pawn was not restored"
|
||||||
);
|
);
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -352,14 +352,14 @@ mod tests {
|
||||||
// Verify promotion was made
|
// Verify promotion was made
|
||||||
assert_eq!(board.get_piece(Square::F7), None);
|
assert_eq!(board.get_piece(Square::F7), None);
|
||||||
assert_eq!(board.get_piece(Square::F8), Some(piece!(White Queen)));
|
assert_eq!(board.get_piece(Square::F8), Some(piece!(White Queen)));
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
board.unmake_move(&record)?;
|
board.unmake_move(&record)?;
|
||||||
|
|
||||||
// Verify original pawn is restored
|
// Verify original pawn is restored
|
||||||
assert_eq!(board.get_piece(Square::F7), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::F7), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::F8), None);
|
assert_eq!(board.get_piece(Square::F8), None);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -384,7 +384,7 @@ mod tests {
|
||||||
// Verify original state restored
|
// Verify original state restored
|
||||||
assert_eq!(board.get_piece(Square::F7), Some(piece!(White Pawn)));
|
assert_eq!(board.get_piece(Square::F7), Some(piece!(White Pawn)));
|
||||||
assert_eq!(board.get_piece(Square::G8), Some(piece!(Black Rook)));
|
assert_eq!(board.get_piece(Square::G8), Some(piece!(Black Rook)));
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -418,7 +418,7 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::G1), None);
|
assert_eq!(board.get_piece(Square::G1), None);
|
||||||
assert_eq!(board.get_piece(Square::F1), None);
|
assert_eq!(board.get_piece(Square::F1), None);
|
||||||
assert_eq!(board.castling_rights, original_castling_rights);
|
assert_eq!(board.castling_rights, original_castling_rights);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -452,7 +452,7 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::C1), None);
|
assert_eq!(board.get_piece(Square::C1), None);
|
||||||
assert_eq!(board.get_piece(Square::D1), None);
|
assert_eq!(board.get_piece(Square::D1), None);
|
||||||
assert_eq!(board.castling_rights, original_castling_rights);
|
assert_eq!(board.castling_rights, original_castling_rights);
|
||||||
assert_eq!(board.active_color, Color::White);
|
assert_eq!(board.active_color(), Color::White);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
@ -463,7 +463,7 @@ mod tests {
|
||||||
Black King on E8,
|
Black King on E8,
|
||||||
Black Rook on H8,
|
Black Rook on H8,
|
||||||
];
|
];
|
||||||
board.active_color = Color::Black;
|
board.set_active_color(Color::Black);
|
||||||
|
|
||||||
let original_castling_rights = board.castling_rights;
|
let original_castling_rights = board.castling_rights;
|
||||||
|
|
||||||
|
|
@ -484,7 +484,7 @@ mod tests {
|
||||||
assert_eq!(board.get_piece(Square::G8), None);
|
assert_eq!(board.get_piece(Square::G8), None);
|
||||||
assert_eq!(board.get_piece(Square::F8), None);
|
assert_eq!(board.get_piece(Square::F8), None);
|
||||||
assert_eq!(board.castling_rights, original_castling_rights);
|
assert_eq!(board.castling_rights, original_castling_rights);
|
||||||
assert_eq!(board.active_color, Color::Black);
|
assert_eq!(board.active_color(), Color::Black);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue