use crate::{square::Square, bitboard::print}; #[derive(Debug, Clone, Copy)] pub struct Move { pub source: Square, pub target: Square, } impl Move { pub fn print(&self) { let bb = self.source.to_bitboard() | self.target.to_bitboard(); print(bb, format!("{:?}", self).as_str()); } } #[cfg(test)] mod tests { use super::*; #[test] fn mock() { let mov = Move { source: Square::E2, target: Square::E4 }; println!("{:?}", mov); } }