From f4f436870f9ce0368d81c504e93b012e3928a851 Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Wed, 26 Jan 2022 14:41:38 +0100 Subject: - Debug parser (carriage returns) - Improve test framework --- tests/combined.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/combined.cpp (limited to 'tests/combined.cpp') diff --git a/tests/combined.cpp b/tests/combined.cpp new file mode 100644 index 0000000..4f1db7d --- /dev/null +++ b/tests/combined.cpp @@ -0,0 +1,43 @@ +#include "pgnp.hpp" +#include + +using namespace pgnp; + +TEST_CASE("Hartwig PGN", "[combined/hartwig]") { + // PGN source: https://www.angelfire.com/games3/smartbridge/ + + pgnp::PGN pgn; + pgn.FromFile("pgn_files/combined/hartwig.pgn"); + + // Count games + REQUIRE_NOTHROW([&]() { + char i = 0; + try { + while (true) { + pgn.ParseNextGame(); + i++; + } + } catch (const NoGameFound &e) { + CHECK(i == 29); + } + }()); + + SECTION("Check comments of a game") { + pgnp::PGN pgn; + pgn.FromFile("pgn_files/combined/hartwig.pgn"); + pgn.ParseNextGame(); + pgn.ParseNextGame(); + pgn.ParseNextGame(); + pgn.ParseNextGame(); + pgn.ParseNextGame(); // Load game 5 + + HalfMove *m = new HalfMove(); + pgn.GetMoves(m); + std::cout << m->comment; + CHECK(m->comment == + "I had actually prepared 1.d4 for the tournament, but I backed out " + "in every (!) game for various different reasons. In this case it " + "was because things were in such a rut I would only be cheered by " + "winning in crushing style. Thankfully it worked!"); + } +} \ No newline at end of file -- cgit v1.2.3