diff --git a/position/src/move_generator.rs b/position/src/move_generator.rs index d2b7920..5a79fb0 100644 --- a/position/src/move_generator.rs +++ b/position/src/move_generator.rs @@ -7,6 +7,7 @@ mod move_set; mod pawn; mod queen; mod rook; +mod tests; pub(crate) use move_set::MoveSet; @@ -171,41 +172,3 @@ impl Moves { .chain(self.king_moves.iter()) } } - -#[cfg(test)] -mod tests { - use crate::{position, r#move::AlgebraicMoveFormatter, Move, MoveBuilder}; - use chessfriend_core::{piece, Square}; - use std::collections::HashSet; - - #[test] - fn one_king() { - let pos = position![ - White King on D3, - Black King on H6, - ]; - - let expected_moves = HashSet::from_iter([ - MoveBuilder::new(piece!(White King), Square::D3, Square::D4).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::E4).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::E3).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::E2).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::D2).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::C2).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::C3).build(), - MoveBuilder::new(piece!(White King), Square::D3, Square::C4).build(), - ]); - - let generated_moves: HashSet = pos.moves().iter().collect(); - - assert_eq!( - generated_moves, - expected_moves, - "{:?}", - generated_moves - .symmetric_difference(&expected_moves) - .map(|m| format!("{}", AlgebraicMoveFormatter::new(&m, &pos))) - .collect::>() - ); - } -} diff --git a/position/src/move_generator/tests.rs b/position/src/move_generator/tests.rs new file mode 100644 index 0000000..777faf8 --- /dev/null +++ b/position/src/move_generator/tests.rs @@ -0,0 +1,3 @@ +// Eryn Wells + +mod single_pieces; diff --git a/position/src/move_generator/tests/single_pieces.rs b/position/src/move_generator/tests/single_pieces.rs new file mode 100644 index 0000000..01a3e34 --- /dev/null +++ b/position/src/move_generator/tests/single_pieces.rs @@ -0,0 +1,36 @@ +// Eryn Wells + +use crate::{position, r#move::AlgebraicMoveFormatter, Move, MoveBuilder}; +use chessfriend_core::{piece, Square}; +use std::collections::HashSet; + +#[test] +fn one_king() { + let pos = position![ + White King on D3, + Black King on H6, + ]; + + let expected_moves = HashSet::from_iter([ + MoveBuilder::new(piece!(White King), Square::D3, Square::D4).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::E4).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::E3).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::E2).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::D2).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::C2).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::C3).build(), + MoveBuilder::new(piece!(White King), Square::D3, Square::C4).build(), + ]); + + let generated_moves: HashSet = pos.moves().iter().collect(); + + assert_eq!( + generated_moves, + expected_moves, + "{:?}", + generated_moves + .symmetric_difference(&expected_moves) + .map(|m| format!("{}", AlgebraicMoveFormatter::new(&m, &pos))) + .collect::>() + ); +}