add initial tests - chess-puzzles - chess puzzle book generator
(HTM) git clone git://git.codemadness.org/chess-puzzles
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 53bf056699cba0e1bd1b06260600385ac5ad0780
(DIR) parent aaac499d48085948814415956d3eb4ded33eb704
(HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 20 Dec 2023 19:29:59 +0100
add initial tests
To make it easier to test the parser and moves
Diffstat:
A tests.sh | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+), 0 deletions(-)
---
(DIR) diff --git a/tests.sh b/tests.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# testfen(expect, fen, moves)
+testfen() {
+ expect="$1"
+ fen="$2"
+ moves="$3"
+
+ output=$(./fen_to_fen "$fen" "$moves")
+ if test "$output" = "$expect"; then
+ echo "OK"
+ else
+ printf 'Fail: expected %s, got: %s\n' "$expect" "$output"
+ fi
+}
+
+testfen 'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1' \
+ "startpos" ""
+# white castling
+testfen 'rnbqkb1r/p4ppp/1pp1pn2/3p4/3P1B2/3BPN2/PPP2PPP/RN1Q1RK1 b kq - 1 6' \
+ 'rnbqkb1r/p4ppp/1pp1pn2/3p4/3P1B2/3BPN2/PPP2PPP/RN1QK2R w KQkq - 0 6' 'e1g1'
+# black castling
+testfen 'rnbq1rk1/p3bppp/1pp1pn2/3p4/3P1B2/3BPN2/PPPN1PPP/R2Q1RK1 w - - 4 8' \
+ 'rnbqk2r/p3bppp/1pp1pn2/3p4/3P1B2/3BPN2/PPPN1PPP/R2Q1RK1 b kq - 3 7' 'e8g8'
+