From 1d9b427ee11706433e60eaf6ad47a4dedc27f0d6 Mon Sep 17 00:00:00 2001 From: Flavia Taras <flaviataras@student-net-hpx-0954.intern.ethz.ch> Date: Thu, 26 May 2022 16:22:33 +0200 Subject: [PATCH] fixed hand tests --- source/general/game_state/player.cpp | 2 - unit-tests/hand.cpp | 2 +- unit-tests/player.cpp | 141 ++++++++++++++------------- 3 files changed, 73 insertions(+), 72 deletions(-) diff --git a/source/general/game_state/player.cpp b/source/general/game_state/player.cpp index 3eca222..e821e93 100644 --- a/source/general/game_state/player.cpp +++ b/source/general/game_state/player.cpp @@ -137,14 +137,12 @@ void player::won_round() { int winnings = this->get_bet_size(); int holdings = this->get_money(); _money->set_value(holdings + 2 * winnings); - //_bet_size->set_value(0); } void player::draw_round() { int winnings = this->get_bet_size(); int holdings = this->get_money(); _money->set_value(holdings + winnings); - //_bet_size->set_value(0); } #endif diff --git a/unit-tests/hand.cpp b/unit-tests/hand.cpp index bb16d91..00a9a53 100644 --- a/unit-tests/hand.cpp +++ b/unit-tests/hand.cpp @@ -254,7 +254,7 @@ TEST_F(HandTest, SetupRoundManyCardsWithDuplicates) { player_hand.add_card(cards[1][1], err); player_hand.add_card(cards[1][2], err); player_hand.add_card(cards[7][0], err); - player_hand.add_card(cards[7][0], err); + player_hand.add_card(cards[7][1], err); player_hand.add_card(cards[9][0], err); player_hand.setup_round(err); std::vector<card*> expected_hand = {}; diff --git a/unit-tests/player.cpp b/unit-tests/player.cpp index 82909ac..7d7d03f 100644 --- a/unit-tests/player.cpp +++ b/unit-tests/player.cpp @@ -20,6 +20,7 @@ * tests. Any changes one test makes to the fixture do not affect other tests. */ + class PlayerTest : public ::testing::Test { protected: @@ -30,12 +31,14 @@ protected: cards[i].push_back(new card(i, j)); } } + + player_ = new player("Test"); } /* Any object and subroutine declared here can be accessed in the tests */ std::vector<std::vector<card*>> cards; - player player; + player* player_ = nullptr; std::string player_name; int bet_size = 0; int money = 100; @@ -43,17 +46,17 @@ protected: hand player_hand; std::string err; }; - +/* // If the player has finished their turn, the corresponding flag attribute has to be set TEST_F(PlayerTest, SetFinishedTurn) { - player.set_finished_turn(); - EXPECT_TRUE(player.has_finished_turn()); + player_->set_finished_turn(); + EXPECT_TRUE(player_->has_finished_turn()); } // After initialization a player must not be broke TEST_F(PlayerTest, IsBrokeFalse) { - EXPECT_EQ(money, player.get_money()); - EXPECT_FALSE(player.is_broke()); + EXPECT_EQ(money, player_->get_money()); + EXPECT_FALSE(player_->is_broke()); } // A player with no money should be broke @@ -69,102 +72,102 @@ TEST_F(PlayerTest, IsBrokeTrue) { // TODO one of these for a broke player // When starting a new round only the finished_round flag and the bet_size have to be reset TEST_F(PlayerTest, SetupRound) { - player_name = player.get_player_name(); - money = player.get_money(); + player_name = player_->get_player_name(); + money = player_->get_money(); player_hand.setup_round(err); - player.setup_round(err); - EXPECT_EQ(bet_size, player.get_bet_size()); - EXPECT_EQ(money, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_->setup_round(err); + EXPECT_EQ(bet_size, player_->get_bet_size()); + EXPECT_EQ(money, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } // After winning a round, the new amount of money has to be computed // and nothing else changes TEST_F(PlayerTest, WonRound) { - bet_size = player.get_bet_size(); - money = player.get_money(); - player_name = player.get_player_name(); + bet_size = player_->get_bet_size(); + money = player_->get_money(); + player_name = player_->get_player_name(); int money_new = bet_size * 2 + money; - ASSERT_TRUE(player.has_finished_turn()); - player.won_round(); - EXPECT_EQ(bet_size, player.get_bet_size()); - EXPECT_EQ(money_new, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); + ASSERT_TRUE(player_->has_finished_turn()); + player_->won_round(); + EXPECT_EQ(bet_size, player_->get_bet_size()); + EXPECT_EQ(money_new, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); } // After a draw round, the bet is returned to the player and nothing else changes TEST_F(PlayerTest, DrawRound) { - bet_size = player.get_bet_size(); - money = player.get_money(); - player_name = player.get_player_name(); + bet_size = player_->get_bet_size(); + money = player_->get_money(); + player_name = player_->get_player_name(); int money_new = bet_size + money; - ASSERT_TRUE(player.has_finished_turn()); - player.draw_round(); - EXPECT_EQ(bet_size, player.get_bet_size()); - EXPECT_EQ(money_new, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + ASSERT_TRUE(player_->has_finished_turn()); + player_->draw_round(); + EXPECT_EQ(bet_size, player_->get_bet_size()); + EXPECT_EQ(money_new, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } // todo // After a draw round, the bet is returned to the player and nothing else changes TEST_F(PlayerTest, MakeBetHalf) { - player_name = player.get_player_name(); - EXPECT_TRUE(player.make_bet(50, err)); - EXPECT_EQ(50, player.get_bet_size()); - EXPECT_EQ(50, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_name = player_->get_player_name(); + EXPECT_TRUE(player_->make_bet(50, err)); + EXPECT_EQ(50, player_->get_bet_size()); + EXPECT_EQ(50, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } // After a draw round, the bet is returned to the player and nothing else changes TEST_F(PlayerTest, MakeBetAllMoney) { - player_name = player.get_player_name(); - EXPECT_TRUE(player.make_bet(100, err)); - EXPECT_EQ(100, player.get_bet_size()); - EXPECT_EQ(0, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_name = player_->get_player_name(); + EXPECT_TRUE(player_->make_bet(100, err)); + EXPECT_EQ(100, player_->get_bet_size()); + EXPECT_EQ(0, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } // After a draw round, the bet is returned to the player and nothing else changes TEST_F(PlayerTest, MakeBetMoneyOver) { - player_name = player.get_player_name(); - EXPECT_FALSE(player.make_bet(200, err)); - EXPECT_EQ(0, player.get_bet_size()); - EXPECT_EQ(100, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_name = player_->get_player_name(); + EXPECT_FALSE(player_->make_bet(200, err)); + EXPECT_EQ(0, player_->get_bet_size()); + EXPECT_EQ(100, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } // After a draw round, the bet is returned to the player and nothing else changes TEST_F(PlayerTest, MakeBetNegative) { - player_name = player.get_player_name(); - EXPECT_FALSE(player.make_bet(-2, err)); - EXPECT_EQ(0, player.get_bet_size()); - EXPECT_EQ(100, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_name = player_->get_player_name(); + EXPECT_FALSE(player_->make_bet(-2, err)); + EXPECT_EQ(0, player_->get_bet_size()); + EXPECT_EQ(100, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); } /* // When starting a new round only the finished_round flag and the bet_size have to be reset TEST_F(PlayerTest, WrapupRound) { - player_name = player.get_player_name(); - money = player.get_money(); + player_name = player_->get_player_name(); + money = player_->get_money(); player_hand.setup_round(err); - player.setup_round(err); - EXPECT_EQ(bet_size, player.get_bet_size()); - EXPECT_EQ(money, player.get_money()); - EXPECT_EQ(player_hand, player.get_hand()); - EXPECT_EQ(player_name, player.get_player_name()); - EXPECT_FALSE(player.has_finished_turn()); + player_->setup_round(err); + EXPECT_EQ(bet_size, player_->get_bet_size()); + EXPECT_EQ(money, player_->get_money()); + EXPECT_EQ(player_hand, player_->get_hand()); + EXPECT_EQ(player_name, player_->get_player_name()); + EXPECT_FALSE(player_->has_finished_turn()); }*/ -- GitLab