From 23cd94e656ea069f64e9497d2487f1a5004b5bfa Mon Sep 17 00:00:00 2001 From: Kieran Kihn <114803508+kierankihn@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:11:14 +0800 Subject: [PATCH] test(game): refine `GameStateTest` while-loop logic and assertions - Adjusted while-loop conditions to streamline test execution. - Enhanced `canBePlayedOn` validation by passing `drawCount`. - Added assertion to validate card count consistency during gameplay. --- test/unit/game/GameStateTest.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/test/unit/game/GameStateTest.cpp b/test/unit/game/GameStateTest.cpp index bb955fc..553ee5f 100644 --- a/test/unit/game/GameStateTest.cpp +++ b/test/unit/game/GameStateTest.cpp @@ -115,10 +115,6 @@ TEST(game_state_test, game_state_test_2) } while (true) { - if (serverGameState.getCurrentPlayer()->getRemainingCardCount() == 0) { - break; - } - for (auto it = serverGameState.getCurrentPlayer()->getCards().begin();; it++) { const auto player = serverGameState.getCurrentPlayer(); auto prevCards = player->getCards(); @@ -140,7 +136,8 @@ TEST(game_state_test, game_state_test_2) break; } - if (it->canBePlayedOn(serverGameState.getDiscardPile().getFront())) { + + if (it->canBePlayedOn(serverGameState.getDiscardPile().getFront(), serverGameState.getDrawCount())) { auto card = *it; size_t prevCount = player->getCards().count(card); @@ -159,5 +156,11 @@ TEST(game_state_test, game_state_test_2) break; } } + + ASSERT_EQ(serverGameState.getCurrentPlayer()->getRemainingCardCount(), serverGameState.getCurrentPlayer()->getCards().size()); + + if (serverGameState.getCurrentPlayer()->getRemainingCardCount() == 0) { + break; + } } } \ No newline at end of file