From c79c05ddb6fc2c16b1cfa9358d2491eb095e1f22 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 6 Jan 2024 16:34:05 -0800 Subject: [PATCH] Fix Pieces unit tests --- board/src/position/pieces.rs | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/board/src/position/pieces.rs b/board/src/position/pieces.rs index a8772e8..e3cb87e 100644 --- a/board/src/position/pieces.rs +++ b/board/src/position/pieces.rs @@ -38,7 +38,7 @@ impl<'a> Iterator for Pieces<'a> { } let mut current_shape: Option = None; - let mut next_nonempty_bitboard: Option<&BitBoard> = None; + let mut next_nonempty_bitboard: Option = None; while let Some(shape) = self.shape_iterator.next() { let piece = Piece::new(self.color, *shape); @@ -80,12 +80,8 @@ mod tests { use crate::Square; use std::collections::HashSet; - fn square_at(sq: &str) -> Square { - Square::from_algebraic_str(sq).expect(sq) - } - - fn place_piece_in_position(pos: &mut Position, sq: &str, piece: Piece) { - pos.place_piece(&piece, &square_at(sq)) + fn place_piece_in_position(pos: &mut Position, piece: Piece, sq: Square) { + pos.place_piece(piece, sq) .expect("Unable to place {piece:?} queen on {sq}"); } @@ -98,11 +94,10 @@ mod tests { #[test] fn one() { - let sq = Square::from_algebraic_str("e4").expect("e4"); + let sq = Square::E4; let mut pos = Position::empty(); - pos.place_piece(&Piece::new(Color::White, Shape::Queen), &sq) - .expect("Unable to place white queen on e4"); + place_piece_in_position(&mut pos, Piece::new(Color::White, Shape::Queen), Square::E4); println!("{:?}", &pos); let mut pieces = pos.pieces(Color::White); @@ -117,18 +112,18 @@ mod tests { fn multiple_pieces() { let mut pos = Position::empty(); - place_piece_in_position(&mut pos, "e4", Piece::new(Color::White, Shape::Queen)); - place_piece_in_position(&mut pos, "e1", Piece::new(Color::White, Shape::King)); - place_piece_in_position(&mut pos, "b2", Piece::new(Color::White, Shape::Pawn)); - place_piece_in_position(&mut pos, "c2", Piece::new(Color::White, Shape::Pawn)); + place_piece_in_position(&mut pos, Piece::new(Color::White, Shape::Queen), Square::E4); + place_piece_in_position(&mut pos, Piece::new(Color::White, Shape::King), Square::E1); + place_piece_in_position(&mut pos, Piece::new(Color::White, Shape::Pawn), Square::B2); + place_piece_in_position(&mut pos, Piece::new(Color::White, Shape::Pawn), Square::C2); println!("{:?}", &pos); let expected_placed_pieces = HashSet::from([ - PlacedPiece::new(Piece::new(Color::White, Shape::Queen), square_at("e4")), - PlacedPiece::new(Piece::new(Color::White, Shape::King), square_at("e1")), - PlacedPiece::new(Piece::new(Color::White, Shape::Pawn), square_at("b2")), - PlacedPiece::new(Piece::new(Color::White, Shape::Pawn), square_at("c2")), + PlacedPiece::new(Piece::new(Color::White, Shape::Queen), Square::E4), + PlacedPiece::new(Piece::new(Color::White, Shape::King), Square::E1), + PlacedPiece::new(Piece::new(Color::White, Shape::Pawn), Square::B2), + PlacedPiece::new(Piece::new(Color::White, Shape::Pawn), Square::C2), ]); let placed_pieces = HashSet::from_iter(pos.pieces(Color::White));