diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9c631bf..af86281 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -5,7 +5,9 @@ set(CMAKE_CXX_STANDARD 26) project(uno-game-test) -add_executable(uno-game-test unit/game/CardTest.cpp) +add_executable(uno-game-test unit/game/CardTest.cpp + unit/game/CardTileTest.cpp +) target_link_libraries(uno-game-test PUBLIC uno-game-lib diff --git a/test/unit/game/CardTileTest.cpp b/test/unit/game/CardTileTest.cpp new file mode 100644 index 0000000..3e4dd40 --- /dev/null +++ b/test/unit/game/CardTileTest.cpp @@ -0,0 +1,35 @@ +/** + * @file CardTileTest.cpp + * + * @author Yuzhe Guo + * @date 2025.11.16 + */ + +#include "../../../src/game/CardTile.h" + + +#include + +TEST(card_tile_test, card_tile_test_1) +{ + const UNO::GAME::CardTile cardTile; + ASSERT_EQ(cardTile.isEmpty(), true); +} + +TEST(card_tile_test, card_tile_test_2) +{ + UNO::GAME::DiscardPile discardTile; + ASSERT_EQ(discardTile.isEmpty(), true); + discardTile.add(UNO::GAME::Card(UNO::GAME::CardColor::BLUE, UNO::GAME::CardType::NUM0)); + ASSERT_EQ(discardTile.isEmpty(), false); +} + +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); + ASSERT_EQ(deck.isEmpty(), false); +} \ No newline at end of file