diff --git a/tests/main.cpp b/tests/main.cpp index dc68434..08f9b82 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -278,5 +278,8 @@ TEST_CASE("Test for promotions on empty squares", "[get_all_moves]"){ TEST_CASE("Tests for check on square of queenside capture", "[get_all_moves]"){ auto cannot_queenside = get_all_moves(CASTLE_CHECK1_POS, CASTLE_CHECK1_BOARD); + auto cannot_queenside2 = get_all_moves(CASTLE_CHECK2_POS, CASTLE_CHECK2_BOARD); + CHECK(get_notations(cannot_queenside, CASTLE_CHECK1_BOARD) == CASTLE_CHECK1_NOTATION); + CHECK(get_notations(cannot_queenside2, CASTLE_CHECK2_BOARD) == CASTLE_CHECK2_NOTATION); } diff --git a/tests/valid_moves.h b/tests/valid_moves.h index f4c5db5..f515433 100644 --- a/tests/valid_moves.h +++ b/tests/valid_moves.h @@ -817,5 +817,23 @@ const std::array CASTLE_CHECK1_BOARD = { const std::vector CASTLE_CHECK1_NOTATION = { "Kd8" }; +const int CASTLE_CHECK2_POS = E8; +const std::array CASTLE_CHECK2_BOARD = { + INV, INV, INV, INV, INV, INV, INV, INV, INV, INV, + INV, INV, INV, INV, INV, INV, INV, INV, INV, INV, + INV, B_ROOK, NONE, NONE, NONE, B_KING, B_PAWN, NONE, NONE, INV, + INV, NONE, NONE, NONE, B_QUEEN, B_PAWN, B_PAWN, NONE, NONE, INV, + INV, NONE, NONE, NONE, W_KNIGHT, NONE, NONE, NONE, NONE, INV, + INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV, + INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV, + INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV, + INV, NONE, NONE, NONE, NONE, NONE, NONE, NONE, NONE, INV, + INV, NONE, NONE, NONE, NONE, NONE, NONE, W_KING, NONE, INV, + INV, INV, INV, INV, INV, INV, INV, INV, INV, INV, + INV, INV, INV, INV, INV, INV, INV, INV, INV, INV +}; +const std::vector CASTLE_CHECK2_NOTATION = { + "Kd8" +};