tests.sh: add some more castling and chess960 PGN 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 0dcd2f065cb678018fb2e30055550987705a09c5
 (DIR) parent 14096028aee533f132200b020687e1ce3884105b
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Mon, 22 Jan 2024 01:07:15 +0100
       
       tests.sh: add some more castling and chess960 PGN tests
       
       Diffstat:
         M tests.sh                            |      21 +++++++++++++++++++++
       
       1 file changed, 21 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/tests.sh b/tests.sh
       @@ -306,6 +306,11 @@ testfen 'black promote to knight (fixup uppercase to lowercase)'\
                'rnbqkb1r/p1ppppPp/8/8/8/8/P1PPPP1P/RnBQKBNR w KQkq - 0 2'\
                'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
                'b2b1N'
       +
       +testfen 'castling chess960'\
       +        'qnkr1r2/p1p1p2p/4nppN/1p6/1P1p4/3P2P1/PQPNPP1P/2RK2Rb w KQ - 4 13'\
       +        'qnrkbnrb/pppppppp/8/8/8/8/PPPPPPPP/QNRKBNRB w KQkq - 0 1'\
       +        'd2d3 g7g6 e1c3 d7d5 c3h8 g8h8 b2b4 h8g8 g2g3 e8c6 f1e3 b7b5 a1e5 f7f6 e5d4 f8e6 d4b2 d5d4 e3g4 c6h1 g4h6 g8f8 b1d2 d8c8'
        }
        
        tests_pgn() {
       @@ -547,6 +552,22 @@ testpgn 'Test a longer sequence of moves, promotion, castling, etc'\
                '1. d4 d5 2. Bf4 c6 3. e3 Bf5 4. Bd3 e6 5. g4 Nf6 6. gxf5 Qb6 7. fxe6 fxe6 8. b3 Nbd7 9. Nd2 O-O-O 10. c4 Be7 11. c5 Qa5 12. a3 Ne4 13. Bxe4 Bxc5 14. b4 Qb5 15. Bc2 g5 16. Ba4 Qa6 17. Bxg5 Bd6 18. Bxd8 Rxd8 19. b5 cxb5 20. Rc1+ Bc5 21. Bxb5 Qxb5 22. dxc5 Nxc5 23. Nb3 b6 24. Nxc5 Qxc5 25. Rxc5+ bxc5 26. Qg4 c4 27. Qxe6+ Kc7 28. Nf3 a5 29. Nd4 Rd7 30. Qc6+ Kd8 31. Ne6+ Ke7 32. f4 Rd6 33. Qxd6+ Kxd6 34. f5 Kc6 35. Rg1 Kd6 36. h4 h6 37. h5 Kd7 38. Rg6 Ke7 39. Rxh6 a4 40. Rg6 Kd6 41. Rg5 c3 42. h6 Ke5 43. h7 Ke4 44. h8=Q Kd3 45. Qd4+ Kc2 46. Rg2+ Kb3 47. Nc5+ Kxa3 48. Qxa4#'\
                'startpos'\
                'd2d4 d7d5 c1f4 c7c6 e2e3 c8f5 f1d3 e7e6 g2g4 g8f6 g4f5 d8b6 f5e6 f7e6 b2b3 b8d7 b1d2 e8c8 c2c4 f8e7 c4c5 b6a5 a2a3 f6e4 d3e4 e7c5 b3b4 a5b5 e4c2 g7g5 c2a4 b5a6 f4g5 c5d6 g5d8 h8d8 b4b5 c6b5 a1c1 d6c5 a4b5 a6b5 d4c5 d7c5 d2b3 b7b6 b3c5 b5c5 c1c5 b6c5 d1g4 c5c4 g4e6 c8c7 g1f3 a7a5 f3d4 d8d7 e6c6 c7d8 d4e6 d8e7 f2f4 d7d6 c6d6 e7d6 f4f5 d6c6 h1g1 c6d6 h2h4 h7h6 h4h5 d6d7 g1g6 d7e7 g6h6 a5a4 h6g6 e7d6 g6g5 c4c3 h5h6 d6e5 h6h7 e5e4 h7h8Q e4d3 h8d4 d3c2 g5g2 c2b3 e6c5 b3a3 d4a4'
       +
       +# test castling chess 960
       +testpgn 'Castling chess960'\
       +        '1. d3 g6 2. Bc3 d5 3. Bxh8 Rxh8 4. b4 Rg8 5. g3 Bc6 6. Ne3 b5 7. Qe5 f6 8. Qd4 Ne6 9. Qb2 d4 10. Ng4 Bxh1 11. Nh6 Rf8 12. Nd2 O-O-O'\
       +        'qnrkbnrb/pppppppp/8/8/8/8/PPPPPPPP/QNRKBNRB w KQkq - 0 1'\
       +        'd2d3 g7g6 e1c3 d7d5 c3h8 g8h8 b2b4 h8g8 g2g3 e8c6 f1e3 b7b5 a1e5 f7f6 e5d4 f8e6 d4b2 d5d4 e3g4 c6h1 g4h6 g8f8 b1d2 d8c8'
       +
       +testpgn 'PGN chess960'\
       +        '1. d3 g6 2. Bc3 d5 3. Bxh8 Rxh8 4. b4 Rg8 5. g3 Bc6 6. Ne3 b5 7. Qe5 f6 8. Qd4 Ne6 9. Qb2 d4 10. Ng4 Bxh1 11. Nh6 Rf8 12. Nd2 O-O-O 13. f3 Qc6 14. Rxh1 Nd7 15. Ne4 Kb7 16. c4 Qb6 17. c5 Qc6 18. Nd2 Ne5 19. Nb3 Qa6 20. f4 Nc6 21. Ng4 Qa4 22. a3 h5 23. Nf2 Rg8 24. Nh3 Rh8 25. Ng1 Rhf8 26. Nf3 Rfe8 27. O-O-O Rf8 28. Rhe1 a6 29. e3 Ng7 30. exd4 Rg8 31. Re3 e6 32. Rde1 Rh8 33. Nbd2 Rhe8 34. Ne4 h4 35. Nxh4 Nxd4 36. Nxf6 Re7 37. Nxg6 Ne8 38. Nxe7 Nxf6 39. c6+ Kb6 40. Qc3 a5 41. Qc5+ Ka6 42. Qc3 axb4 43. Qxb4 Qc2#'\
       +        'qnrkbnrb/pppppppp/8/8/8/8/PPPPPPPP/QNRKBNRB w KQkq - 0 1'\
       +        'd2d3 g7g6 e1c3 d7d5 c3h8 g8h8 b2b4 h8g8 g2g3 e8c6 f1e3 b7b5 a1e5 f7f6 e5d4 f8e6 d4b2 d5d4 e3g4 c6h1 g4h6 g8f8 b1d2 d8c8 f2f3 a8c6 g1h1 b8d7 d2e4 c8b7 c2c4 c6b6 c4c5 b6c6 e4d2 d7e5 d2b3 c6a6 f3f4 e5c6 h6g4 a6a4 a2a3 h7h5 g4f2 f8g8 f2h3 g8h8 h3g1 h8f8 g1f3 f8e8 d1c1 e8f8 h1e1 a7a6 e2e3 e6g7 e3d4 f8g8 e1e3 e7e6 d1e1 g8h8 b3d2 h8e8 d2e4 h5h4 f3h4 c6d4 e4f6 e8e7 h4g6 g7e8 g6e7 e8f6 c5c6 b7b6 b2c3 a6a5 c3c5 b6a6 c5c3 a5b4 c3b4 a4c2'
       +
       +testpgn 'castling chess960'\
       +        '1. d3 c6 2. Bd2 a5 3. a4 f6 4. Ba2 Bf7 5. Bxf7 Qxf7 6. Nb3 Bc7 7. g4 e5 8. Ng3 Qe6 9. f3 Ng6 10. Qg2 Nf4 11. Bxf4 Nb6 12. Bd2 Nd5 13. Ne4 d6 14. Qh3 Nf4 15. Qxh7 d5 16. Nec5 Qc8 17. Bxf4 exf4 18. Qxg7 Ke8 19. Qg6+ Ke7 20. Nd4 Kd6 21. Nce6 Bb6 22. Nxf8 Bxd4 23. Nh7 Qd8 24. c3 Be3 25. Qxf6+ Qxf6 26. Nxf6 Rf8 27. Nh5 Ra8 28. h4 Rd8 29. Rh1 Rb8 30. Ng7 Bf2 31. h5 Bb6 32. h6 Ke5 33. Kc2 Kf6 34. Rh3 Ra8 35. Rah1 Bf2 36. Nh5+ Ke6 37. Nxf4+ Kd6 38. h7 Bd4 39. cxd4 Rh8 40. Ng6 Re8 41. h8=Q Rxe2+ 42. Kc3 Rg2 43. Qd8+ Ke6 44. Re1+ Kf7 45. Qe8+ Kf6 46. Re6+ Kg5 47. Rh5#'\
       +        'rbnkbrqn/pppppppp/8/8/8/8/PPPPPPPP/RBNKBRQN w KQkq - 0 1'\
       +        'd2d3 c7c6 e1d2 a7a5 a2a4 f7f6 b1a2 e8f7 a2f7 g8f7 c1b3 b8c7 g2g4 e7e5 h1g3 f7e6 f2f3 h8g6 g1g2 g6f4 d2f4 c8b6 f4d2 b6d5 g3e4 d7d6 g2h3 d5f4 h3h7 d6d5 e4c5 e6c8 d2f4 e5f4 h7g7 d8e8 g7g6 e8e7 b3d4 e7d6 c5e6 c7b6 e6f8 b6d4 f8h7 c8d8 c2c3 d4e3 g6f6 d8f6 h7f6 a8f8 f6h5 f8a8 h2h4 a8d8 f1h1 d8b8 h5g7 e3f2 h4h5 f2b6 h5h6 d6e5 d1c2 e5f6 h1h3 b8a8 a1h1 b6f2 g7h5 f6e6 h5f4 e6d6 h6h7 f2d4 c3d4 a8h8 f4g6 h8e8 h7h8Q e8e2 c2c3 e2g2 h8d8 d6e6 h1e1 e6f7 d8e8 f7f6 e1e6 f6g5 h3h5'
        }
        
        tests_fen