aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <adammegarules1@gmail.com>2026-08-08 18:46:30 +0200
committerAdam <adammegarules1@gmail.com>2026-08-08 18:46:30 +0200
commit0709c26bcb3f2fc5082a884efb2b7cceef1d058d (patch)
tree2fd4304e200d529d7d1dcb65b80f75d2e0bcdee2
parentba097ea9ce636d45ffd8b4085f1971fae54a2f02 (diff)
adding tests script
-rwxr-xr-xperft.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/perft.sh b/perft.sh
new file mode 100755
index 0000000..7bf1043
--- /dev/null
+++ b/perft.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+testPerft() {
+ local fen="$1"
+ local depth="$2"
+ local expected="$3"
+
+ printf "position fen %s\nperft %s\nquit\n" "$fen" "$depth" | ./build/mono
+ echo "Expected: $expected"
+ echo "-------------------"
+}
+
+configs=(
+ # starting pos
+ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1|1|20"
+ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1|2|400"
+ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1|3|8902"
+ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1|4|197281"
+ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1|5|4865609"
+
+ # kiwipete
+ "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|1|48"
+ "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|2|2039"
+ "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|3|97862"
+ "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|4|4085603"
+ "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -|5|193690690"
+)
+
+for config in "${configs[@]}"; do
+ IFS='|' read -r fen depth expected <<< "$config"
+ testPerft "$fen" "$depth" "$expected"
+done \ No newline at end of file