diff --git a/source/general/game_state/player.cpp b/source/general/game_state/player.cpp index 3eca22239337707cd0643b58574fd391f536b565..e821e932cba99db46a68752e509636fc3fa7c472 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 bb16d91101910b58cdd27dd70604fcd16fe6232d..00a9a5368dc12d42323547227dbc3b8612a014a6 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 82909acc7902e2ad1c4ae1b8e864071550a8f857..7d7d03f7168609a7f5d27e7c1a27d94b36ef3edc 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()); }*/