summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-12-26 22:01:22 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-12-26 22:01:22 +0100
commit3ba7bd82d255c555aec3882f897be471fdb69a8d (patch)
treea76cae0e8b8c1c40c4f66a8a5bbb580a98ee7fcc /tests
parentdd4574691a862548a7b7341a529bded347718068 (diff)
Support for promotiongit add -A
Diffstat (limited to 'tests')
-rw-r--r--tests/chessarbiter.cpp20
1 files changed, 20 insertions, 0 deletions
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