pub fn run_perft(depth: usize, fen: &str, moves: Vec<&str>) -> usizeExpand description
Run perft test
ยงExamples
use chess_lib::run_perft;
// Starting position after move e2 to e4
let result = run_perft(5, "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1", vec!["e2e4"]);
assert_eq!(result, 9771632);
// Kiwipete position: https://www.chessprogramming.org/Perft_Results#Position_2
let result = run_perft(4, "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -", vec![]);
assert_eq!(result, 4085603);