test.sh: add more promotion tests and fixup for case if input is incorrect - 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 e34a8cc5befa1d22f9468bb9169113acb84ef6f8
 (DIR) parent a7b46089306de698b20b0400a8ec9f3ccda3f729
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sun, 14 Jan 2024 19:17:10 +0100
       
       test.sh: add more promotion tests and fixup for case if input is incorrect
       
       Diffstat:
         M tests.sh                            |      50 +++++++++++++++++++++++++++++++
       
       1 file changed, 50 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/tests.sh b/tests.sh
       @@ -256,6 +256,56 @@ testfen 'white is not checkmated (en passant square is set and can be played), r
                'rnbqkbnr/p2ppppp/1pP5/1P2P3/2PKQ3/2PQQ3/P1PP1PPP/RNBQ1BNR b kq - 0 1'\
                'rnbqkbnr/p2ppppp/1p6/1PpPP3/2PKQ3/2PQQ3/P1PP1PPP/RNBQ1BNR w kq c6 0 1'\
                'd5c6'
       +
       +testfen 'white promote to queen'\
       +        'rnbqkbQr/p1pppp1p/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR w KQkq - 0 1'\
       +        'g7g8Q'
       +
       +testfen 'white promote to rook'\
       +        'rnbqkbRr/p1pppp1p/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR w KQkq - 0 1'\
       +        'g7g8R'
       +
       +testfen 'white promote to bishop'\
       +        'rnbqkbBr/p1pppp1p/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR w KQkq - 0 1'\
       +        'g7g8B'
       +
       +testfen 'white promote to knight'\
       +        'rnbqkbNr/p1pppp1p/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR w KQkq - 0 1'\
       +        'g7g8N'
       +
       +testfen 'white promote to knight (fixup lowercase to uppercase)'\
       +        'rnbqkbNr/p1pppp1p/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR w KQkq - 0 1'\
       +        'g7g8n'
       +
       +testfen 'black promote to queen'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/P1PPPP1P/RqBQKBNR w KQkq - 0 2'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'b2b1q'
       +
       +testfen 'black promote to rook'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/P1PPPP1P/RrBQKBNR w KQkq - 0 2'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'b2b1r'
       +
       +testfen 'black promote to bishop'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/P1PPPP1P/RbBQKBNR w KQkq - 0 2'\
       +        'rnbqkb1r/p1ppppPp/8/8/8/8/PpPPPP1P/R1BQKBNR b KQkq - 0 1'\
       +        'b2b1b'
       +
       +testfen 'black promote to knight'\
       +        '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 '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'
        }
        
        tests_pgn() {