test(game): update tests to reflect removal of CardColor::WILD and adjust deck drawing logic

This commit is contained in:
Kieran Kihn
2025-11-17 14:40:22 +08:00
parent 6a148a7e57
commit f8666b18b1
3 changed files with 16 additions and 19 deletions

View File

@@ -32,9 +32,9 @@ TEST(card_test, card_test_2)
TEST(card_test, card_test_3)
{
const UNO::GAME::Card card(UNO::GAME::CardColor::WILD, UNO::GAME::CardType::WILD);
const UNO::GAME::Card card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::WILD);
EXPECT_EQ(card.getColor(), UNO::GAME::CardColor::WILD);
EXPECT_EQ(card.getColor(), UNO::GAME::CardColor::RED);
EXPECT_EQ(card.getType(), UNO::GAME::CardType::WILD);
EXPECT_EQ(card.colorToString(), std::string("Wild"));
EXPECT_EQ(card.typeToString(), std::string("Wild"));
@@ -43,21 +43,11 @@ TEST(card_test, card_test_3)
TEST(card_test, card_test_4)
{
const UNO::GAME::Card card(UNO::GAME::CardColor::WILD, UNO::GAME::CardType::WILDDRAWFOUR);
const UNO::GAME::Card card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::WILDDRAWFOUR);
EXPECT_EQ(card.getColor(), UNO::GAME::CardColor::WILD);
EXPECT_EQ(card.getColor(), UNO::GAME::CardColor::RED);
EXPECT_EQ(card.getType(), UNO::GAME::CardType::WILDDRAWFOUR);
EXPECT_EQ(card.colorToString(), std::string("Wild"));
EXPECT_EQ(card.typeToString(), std::string("Wild Draw 4"));
EXPECT_EQ(card.toString(), std::string("Wild Draw 4"));
}
TEST(card_test, card_test_5)
{
EXPECT_THROW(UNO::GAME::Card(UNO::GAME::CardColor::WILD, UNO::GAME::CardType::NUM0), std::invalid_argument);
}
TEST(card_test, card_test_6)
{
EXPECT_THROW(UNO::GAME::Card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::WILD), std::invalid_argument);
}

View File

@@ -28,8 +28,15 @@ TEST(card_tile_test, card_tile_test_3)
{
UNO::GAME::Deck deck;
ASSERT_EQ(deck.isEmpty(), false);
deck.draw(108);
ASSERT_EQ(deck.isEmpty(), true);
deck.draw(107);
for (size_t i = 1; ; i++) {
deck.draw();
if (deck.isEmpty()) {
ASSERT_EQ(i, 108);
break;
}
}
deck.draw(1);
ASSERT_EQ(deck.isEmpty(), false);
}

View File

@@ -16,10 +16,10 @@ TEST(player_test, player_test_1)
UNO::GAME::Card(UNO::GAME::CardColor::BLUE, UNO::GAME::CardType::REVERSE),
UNO::GAME::Card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::SKIP),
UNO::GAME::Card(UNO::GAME::CardColor::BLUE, UNO::GAME::CardType::NUM3),
UNO::GAME::Card(UNO::GAME::CardColor::WILD, UNO::GAME::CardType::WILDDRAWFOUR),
UNO::GAME::Card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::WILDDRAWFOUR),
UNO::GAME::Card(UNO::GAME::CardColor::GREEN, UNO::GAME::CardType::NUM9),
UNO::GAME::Card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::NUM1),
UNO::GAME::Card(UNO::GAME::CardColor::WILD, UNO::GAME::CardType::WILD)
UNO::GAME::Card(UNO::GAME::CardColor::RED, UNO::GAME::CardType::WILD)
});
ASSERT_EQ(handCard.getCards().begin()->getColor(), UNO::GAME::CardColor::RED);