macro_rules! turn_move {
($who:expr, $dst:expr) => { ... };
($who:expr, $dst:expr, $flags:expr) => { ... };
($who:expr, $dst:expr, $flags:expr, $src:expr) => { ... };
($who:expr, $dst:expr, $flags:expr, $src:expr, $promotion:expr) => { ... };
}Expand description
Creates a Turn::Move from given number of arguments
ยงExample
use chess_notation_parser::{turn_move, Turn, Move, Square, Piece, Flag};
let turn = Turn::Move(
Move {
who: Piece::Queen,
dst: Square::D7,
flags: Flag::NONE,
src: None,
promotion: None,
}
);
assert_eq!(turn, turn_move!(Piece::Queen, Square::D7));
assert_eq!(turn, turn_move!(Piece::Queen, Square::D7, Flag::NONE));
assert_eq!(turn, turn_move!(Piece::Queen, Square::D7, Flag::NONE, None));
assert_eq!(turn, turn_move!(
Piece::Queen,
Square::D7,
Flag::NONE,
None,
None)
);