From 3ba7bd82d255c555aec3882f897be471fdb69a8d Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Mon, 26 Dec 2022 22:01:22 +0100 Subject: Support for promotiongit add -A --- tests/chessarbiter.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/chessarbiter.cpp b/tests/chessarbiter.cpp index 2e65ae5..96b5f3b 100644 --- a/tests/chessarbiter.cpp +++ b/tests/chessarbiter.cpp @@ -478,4 +478,24 @@ TEST_CASE("Specific bugs found on a game", "[BugFixes]") { a.Setup("1k3r1r/npqbbp2/4p1p1/p2pPnNp/1P3B1P/P1PB4/5PPQ/RN2R1K1 w - - 1 19"); a.Play("e1c1"); CHECK(a.GetFEN() == "1k3r1r/npqbbp2/4p1p1/p2pPnNp/1P3B1P/P1PB4/5PPQ/RNR3K1 b - - 2 19"); + + // BUG 2 (Promotion) + a.Setup("8/k2P4/2p1ppp1/5qBp/5P1P/8/6PK/8 w - - 0 45"); + a.Play("d7d8"); + CHECK(a.GetFEN() == "3Q4/k7/2p1ppp1/5qBp/5P1P/8/6PK/8 b - - 0 45"); + + // BUG 3 (Promotion) + a.Setup("8/k2P4/2p1ppp1/5qBp/5P1P/8/6PK/8 w - - 0 45"); + a.Play("d7d8",'n'); + CHECK(a.GetFEN() == "3N4/k7/2p1ppp1/5qBp/5P1P/8/6PK/8 b - - 0 45"); + + // BUG 4 (Promotion) + char p=a.ParseSANPromotion("d8=Q"); + CHECK(p == 'Q'); + p=a.ParseSANPromotion("d8=N+"); + CHECK(p == 'N'); + p=a.ParseSANPromotion("d8=B+"); + CHECK(p == 'B'); + p=a.ParseSANPromotion("d8=R"); + CHECK(p == 'R'); } \ No newline at end of file -- cgit v1.2.3