From 357b81151893269b9df75fbc907e7a1b8506cec9 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Tue, 30 Jan 2024 08:35:02 -0800 Subject: [PATCH] [position] Add a fen! macro --- position/src/fen.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/position/src/fen.rs b/position/src/fen.rs index fd7b530..d6c3568 100644 --- a/position/src/fen.rs +++ b/position/src/fen.rs @@ -4,6 +4,12 @@ use crate::{r#move::Castle, Position, PositionBuilder}; use chessfriend_core::{piece, Color, File, Piece, PlacedPiece, Rank, Square}; use std::fmt::Write; +macro_rules! fen { + ($fen_string:literal) => { + Position::from_fen_str($fen_string) + }; +} + #[derive(Clone, Copy, Debug, Eq, PartialEq)] pub enum ToFenError { FmtError(std::fmt::Error), @@ -270,11 +276,8 @@ mod tests { #[test] fn from_starting_fen() { - let pos = - Position::from_fen_str("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1") - .unwrap(); + let pos = fen!("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1").unwrap(); let expected = Position::starting(); - assert_eq!(pos, expected, "{pos:#?}\n{expected:#?}"); } }