From a3c805534e10861181b0b0b6236fd55dbcedf4da Mon Sep 17 00:00:00 2001 From: Disservin Date: Wed, 22 Jan 2025 10:04:36 +0100 Subject: [PATCH] test: add bishop ambiguity tests --- tests/san.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/san.cpp b/tests/san.cpp index 52e1f20..f1a92f0 100644 --- a/tests/san.cpp +++ b/tests/san.cpp @@ -245,6 +245,30 @@ TEST_SUITE("SAN Parser") { } } + TEST_CASE("Test Bishop Ambiguity") { + auto b = Board{"4k3/8/8/8/2B1B3/8/2B1BK2/8 w - - 0 1"}; + + { + auto m = Move::make(Square::underlying::SQ_C2, Square::underlying::SQ_D3); + CHECK(uci::parseSan(b, "Bc2d3") == m); + } + + { + auto m = Move::make(Square::underlying::SQ_C4, Square::underlying::SQ_D3); + CHECK(uci::parseSan(b, "Bc4d3") == m); + } + + { + auto m = Move::make(Square::underlying::SQ_E2, Square::underlying::SQ_D3); + CHECK(uci::parseSan(b, "Be2d3") == m); + } + + { + auto m = Move::make(Square::underlying::SQ_E4, Square::underlying::SQ_D3); + CHECK(uci::parseSan(b, "Be4d3") == m); + } + } + TEST_CASE("Parse No Move") { Board b = Board();