[board] Move position builders into a builders module
Move PositionBuilder to position_builder.rs and export it from the builders module.
This commit is contained in:
parent
1a907844d6
commit
4a5ae8ec59
2 changed files with 22 additions and 3 deletions
5
board/src/position/builders/mod.rs
Normal file
5
board/src/position/builders/mod.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
// Eryn Wells <eryn@erynwells.me>
|
||||||
|
|
||||||
|
mod position_builder;
|
||||||
|
|
||||||
|
pub use position_builder::Builder as PositionBuilder;
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
// Eryn Wells <eryn@erynwells.me>
|
// Eryn Wells <eryn@erynwells.me>
|
||||||
|
|
||||||
use super::{flags::Flags, piece_sets::PieceBitBoards};
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
bitboard::BitBoardBuilder,
|
||||||
piece::{PlacedPiece, Shape},
|
piece::{PlacedPiece, Shape},
|
||||||
square::Rank,
|
position::{flags::Flags, piece_sets::PieceBitBoards, BoardSide},
|
||||||
|
r#move::Castle,
|
||||||
|
square::{Direction, Rank},
|
||||||
BitBoard, Color, MakeMoveError, Move, Piece, Position, Square,
|
BitBoard, Color, MakeMoveError, Move, Piece, Position, Square,
|
||||||
};
|
};
|
||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
|
|
@ -30,7 +32,7 @@ impl Builder {
|
||||||
self.kings[color_index] = square;
|
self.kings[color_index] = square;
|
||||||
}
|
}
|
||||||
|
|
||||||
self.pieces.insert(square, piece.piece());
|
self.pieces.insert(square, *piece.piece());
|
||||||
|
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
@ -81,3 +83,15 @@ impl Default for Builder {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use crate::PositionBuilder;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn place_piece() {
|
||||||
|
let piece = piece!(White Queen on E4);
|
||||||
|
let builder = PositionBuilder::new().place_piece(piece).build();
|
||||||
|
assert_eq!(builder.piece_on_square(piece.square()), Some(piece));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue