Add an assert_move_list! macro to help with verifying move lists
This commit is contained in:
parent
d910ff708e
commit
cd3cb82192
2 changed files with 23 additions and 0 deletions
|
@ -11,5 +11,9 @@ mod sight;
|
|||
#[macro_use]
|
||||
mod macros;
|
||||
|
||||
#[cfg(test)]
|
||||
#[macro_use]
|
||||
mod tests;
|
||||
|
||||
pub use position::{MoveBuilder as MakeMoveBuilder, Position, PositionBuilder};
|
||||
pub use r#move::{Castle, MakeMoveError, Move, MoveBuilder};
|
||||
|
|
19
position/src/tests.rs
Normal file
19
position/src/tests.rs
Normal file
|
@ -0,0 +1,19 @@
|
|||
// Eryn Wells <eryn@erynwells.me>
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! assert_move_list {
|
||||
($generated:expr, $expected:expr, $position:expr) => {
|
||||
assert_eq!(
|
||||
$generated,
|
||||
$expected,
|
||||
"Difference: {:?}",
|
||||
$generated
|
||||
.symmetric_difference(&$expected)
|
||||
.map(|mv| format!(
|
||||
"{}",
|
||||
$crate::r#move::AlgebraicMoveFormatter::new(mv, &$position)
|
||||
))
|
||||
.collect::<Vec<String>>()
|
||||
)
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue