From 8bb425b47410c0f14ba88d3f46c833834a5c5ff0 Mon Sep 17 00:00:00 2001 From: Aidan Meara <aidan@Aidans-MacBook-Pro-2.local> Date: Thu, 28 Nov 2024 17:22:11 +0100 Subject: [PATCH] wip --- unit-tests/deck.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/unit-tests/deck.cpp b/unit-tests/deck.cpp index b7b08d5..7009acf 100644 --- a/unit-tests/deck.cpp +++ b/unit-tests/deck.cpp @@ -10,7 +10,6 @@ TEST(DeckTest, Creation) { deck mydeck; ASSERT_EQ(mydeck.get_number_of_remaining_cards(), 60); EXPECT_TRUE(mydeck.is_empty() == false); - } // can draw trump from new deck @@ -18,9 +17,53 @@ TEST(DeckTest, TrumpDraw) { deck mydeck; card* trump; trump = mydeck.draw_trump(); + EXPECT_TRUE(trump); +} + +// draw cards to player, make sure proper number of cards +TEST(DeckTest, CardDraw) { + deck mydeck; + player* player1 = new player("player1"); + std::string err; + mydeck.draw_cards(player1, 5, err); + // check card numbers + ASSERT_EQ(mydeck.get_number_of_remaining_cards(), 55); + EXPECT_TRUE(mydeck.is_empty() == false); + + // check hand + ASSERT_EQ(player1->get_hand()->get_nof_cards(), 5); } +// Draw last few cards +TEST(DeckTest, DrawFinalCards) { + deck mydeck; + player* player1 = new player("player1"); + std::string err; + mydeck.draw_cards(player1, 60, err); + + // check card numbers + ASSERT_EQ(mydeck.get_number_of_remaining_cards(), 0); + EXPECT_TRUE(mydeck.is_empty() == true); + + // check hand + ASSERT_EQ(player1->get_hand()->get_nof_cards(), 60); + + // draw trump + ASSERT_EQ(mydeck.draw_trump(), nullptr); + +} + +// Drawing too many cards must fail +TEST(DeckTest, OverDraw) { + deck mydeck; + player* player1 = new player("player1"); + std::string err; + + + EXPECT_FALSE(mydeck.draw_cards(player1, 65, err)); + +} /* A test fixture allows us to reuse the same configuration of objects for all -- GitLab