aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2022-01-24 16:41:02 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2022-01-24 16:41:02 +0100
commite6e2c5a8bf5c99119799c9ac706c4428fec6b5aa (patch)
tree90a5d47ea2c7bb46fce75d5ed5fe667aa5b05637 /tests
parent55b2c72108b1206d8b2f8565e2bc6f398a74cd2c (diff)
Improve tests
Diffstat (limited to 'tests')
-rw-r--r--tests/tests.cpp49
1 files changed, 48 insertions, 1 deletions
diff --git a/tests/tests.cpp b/tests/tests.cpp
index 9c65975..3838ef6 100644
--- a/tests/tests.cpp
+++ b/tests/tests.cpp
@@ -7,7 +7,54 @@ TEST_CASE("Valid PGN", "[pgn1]") {
PGN pgn;
REQUIRE_NOTHROW(pgn.FromFile("pgn_files/valid/pgn1.pgn"));
REQUIRE_THROWS(pgn.STRCheck());
- REQUIRE(pgn.GetMoves()->GetLength() == 6);
+
+ HalfMove *m = pgn.GetMoves();
+ REQUIRE(m->GetLength() == 6);
+
+ SECTION("Main line move checks") {
+ CHECK(m->move == "g3");
+
+ m = m->MainLine;
+ CHECK(m->move == "d5");
+
+ m = m->MainLine;
+ CHECK(m->move == "Bg2");
+
+ m = m->MainLine;
+ CHECK(m->move == "Nf6");
+
+ m = m->MainLine;
+ CHECK(m->move == "c4");
+
+ m = m->MainLine;
+ CHECK(m->move == "c6");
+ }
+
+ SECTION("Main line color checks") {
+ m = pgn.GetMoves();
+ CHECK_FALSE(m->isBlack);
+
+ m = m->MainLine;
+ CHECK(m->isBlack);
+
+ m = m->MainLine;
+ CHECK_FALSE(m->isBlack);
+
+ m = m->MainLine;
+ CHECK(m->isBlack);
+ }
+
+ SECTION("Tag exists checks") {
+ CHECK(pgn.HasTag("WhiteElo"));
+ CHECK_FALSE(pgn.HasTag("Round"));
+ CHECK(pgn.HasTag("TimeControl"));
+ }
+
+ SECTION("Tag values checks") {
+ CHECK(pgn.GetTagValue("WhiteElo") == "1830");
+ CHECK(pgn.GetTagValue("TimeControl") == "600+5");
+ CHECK_THROWS_AS(pgn.GetTagValue("InvalidTagName"), InvalidTagName);
+ }
}
TEST_CASE("Valid PGN", "[pgn2]") {