expand tests for castling etc - chess-puzzles - chess puzzle book generator | |
git clone git://git.codemadness.org/chess-puzzles | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 4ccd78674dc439a488331c561af552b0b129d621 | |
parent 732bc42efda65c2ecc30a416f20516b9fcca62f6 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Wed, 20 Dec 2023 20:19:08 +0100 | |
expand tests for castling etc | |
Diffstat: | |
M tests.sh | 42 +++++++++++++++++++++++++++++… | |
1 file changed, 42 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/tests.sh b/tests.sh | |
@@ -16,6 +16,7 @@ testfen() { | |
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' … | |
@@ -23,3 +24,44 @@ testfen 'rnbqkb1r/p4ppp/1pp1pn2/3p4/3P1B2/3BPN2/PPP2PPP/RN1Q… | |
testfen 'rnbq1rk1/p3bppp/1pp1pn2/3p4/3P1B2/3BPN2/PPPN1PPP/R2Q1RK1 w - - 4 8' \ | |
'rnbqk2r/p3bppp/1pp1pn2/3p4/3P1B2/3BPN2/PPPN1PPP/R2Q1RK1 b kq - 3 7' '… | |
+# check castling: the white queen is in check, but this doesn't change the cas… | |
+testfen 'rnb1kb1r/pp2qppp/2p2n2/3p4/3P1B2/3B1N2/PPP2PPP/RN1QK2R w KQkq - 0 8' \ | |
+ 'rnb1kb1r/pp2qppp/2p1pn2/3P4/3P1B2/3B1N2/PPP2PPP/RN1QK2R b KQkq - 0 7'… | |
+# check castling: black moves kingside rook: this removes castling on this sid… | |
+testfen 'rnb1kbr1/pp2qppp/2p2n2/3p4/3P1B2/3B1N2/PPP1QPPP/RN2K2R w KQq - 2 9' \ | |
+ 'rnb1kb1r/pp2qppp/2p2n2/3p4/3P1B2/3B1N2/PPP1QPPP/RN2K2R b KQkq - 1 8' … | |
+# check castling: white moves kingside rook: this removes castling on this sid… | |
+testfen 'rnb1kb2/pp2qppr/2p2n2/3p4/3P1B2/3B1N2/PPP1QPPP/RN2K1R1 b Qq - 3 9'\ | |
+ 'rnb1kb2/pp2qppr/2p2n2/3p4/3P1B2/3B1N2/PPP1QPPP/RN2K2R w KQq - 2 9'\ | |
+ 'h1g1' | |
+# check castling: white moves queenside rook: this removes castling on this si… | |
+testfen 'rnb1kb2/1p2qpp1/p1p2n2/3p4/3P1B2/3B1N2/PPPNQPPr/1R2K1R1 b q - 1 11'\ | |
+ 'rnb1kb2/1p2qpp1/p1p2n2/3p4/3P1B2/3B1N2/PPPNQPPr/R3K1R1 w Qq - 0 11'\ | |
+ 'a1b1' | |
+# white king move, remove castling availability | |
+testfen 'rnb1kb2/1p2qpp1/p1p2n2/3p4/3P1B2/3B1N2/PPPNQPPr/R2K2R1 b q - 1 11'\ | |
+ 'rnb1kb2/1p2qpp1/p1p2n2/3p4/3P1B2/3B1N2/PPPNQPPr/R3K1R1 w Qq - 0 11'\ | |
+ 'e1d1' | |
+# white king move, remove castling availability | |
+testfen 'r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R2K3R b kq - 1 1'\ | |
+ 'r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R3K2R w KQkq - 0 1'\ | |
+ 'e1d1' | |
+# black king move, remove castling availability | |
+testfen 'r4k1r/pppppppp/8/8/8/8/PPPPPPPP/R2K3R w - - 2 2'\ | |
+ 'r3k2r/pppppppp/8/8/8/8/PPPPPPPP/R2K3R b kq - 1 1'\ | |
+ 'e8f8' | |
+ | |
+ | |
+# black is laz0rbeamed by white bishop on the queenside on b8, but not on the | |
+# castling square it is allowed to castle. | |
+testfen '2kr1br1/pp2qppp/n1p1bn2/3p4/3P1B2/3BQN2/PPP2PPP/RN2K2R w KQ - 8 12'\ | |
+ 'r3kbr1/pp2qppp/n1p1bn2/3p4/3P1B2/3BQN2/PPP2PPP/RN2K2R b KQq - 7 11'\ | |
+ 'e8c8' | |
+# white moves bishop and blocks castling for black, but this doesn't change the | |
+# castle state itself. | |
+testfen 'r3kbr1/pp2qppp/n1p2n2/3p1B2/3P1B2/4QN1b/PPP2PPP/RN2K2R b KQq - 9 12'\ | |
+ 'r3kbr1/pp2qppp/n1p2n2/3p4/3P1B2/3BQN1b/PPP2PPP/RN2K2R w KQq - 8 12'\ | |
+ 'd3f5' | |
+ | |
+# TODO: test halfmove | |
+# TODO: test enpassant |