Skip to content
Snippets Groups Projects
Commit 1d9b427e authored by Flavia Taras's avatar Flavia Taras
Browse files

fixed hand tests

parent e6168d34
No related branches found
No related tags found
No related merge requests found
...@@ -137,14 +137,12 @@ void player::won_round() { ...@@ -137,14 +137,12 @@ void player::won_round() {
int winnings = this->get_bet_size(); int winnings = this->get_bet_size();
int holdings = this->get_money(); int holdings = this->get_money();
_money->set_value(holdings + 2 * winnings); _money->set_value(holdings + 2 * winnings);
//_bet_size->set_value(0);
} }
void player::draw_round() { void player::draw_round() {
int winnings = this->get_bet_size(); int winnings = this->get_bet_size();
int holdings = this->get_money(); int holdings = this->get_money();
_money->set_value(holdings + winnings); _money->set_value(holdings + winnings);
//_bet_size->set_value(0);
} }
#endif #endif
......
...@@ -254,7 +254,7 @@ TEST_F(HandTest, SetupRoundManyCardsWithDuplicates) { ...@@ -254,7 +254,7 @@ TEST_F(HandTest, SetupRoundManyCardsWithDuplicates) {
player_hand.add_card(cards[1][1], err); player_hand.add_card(cards[1][1], err);
player_hand.add_card(cards[1][2], 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][0], err); player_hand.add_card(cards[7][1], err);
player_hand.add_card(cards[9][0], err); player_hand.add_card(cards[9][0], err);
player_hand.setup_round(err); player_hand.setup_round(err);
std::vector<card*> expected_hand = {}; std::vector<card*> expected_hand = {};
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
* tests. Any changes one test makes to the fixture do not affect other tests. * tests. Any changes one test makes to the fixture do not affect other tests.
*/ */
class PlayerTest : public ::testing::Test { class PlayerTest : public ::testing::Test {
protected: protected:
...@@ -30,12 +31,14 @@ protected: ...@@ -30,12 +31,14 @@ protected:
cards[i].push_back(new card(i, j)); cards[i].push_back(new card(i, j));
} }
} }
player_ = new player("Test");
} }
/* Any object and subroutine declared here can be accessed in the tests */ /* Any object and subroutine declared here can be accessed in the tests */
std::vector<std::vector<card*>> cards; std::vector<std::vector<card*>> cards;
player player; player* player_ = nullptr;
std::string player_name; std::string player_name;
int bet_size = 0; int bet_size = 0;
int money = 100; int money = 100;
...@@ -43,17 +46,17 @@ protected: ...@@ -43,17 +46,17 @@ protected:
hand player_hand; hand player_hand;
std::string err; std::string err;
}; };
/*
// If the player has finished their turn, the corresponding flag attribute has to be set // If the player has finished their turn, the corresponding flag attribute has to be set
TEST_F(PlayerTest, SetFinishedTurn) { TEST_F(PlayerTest, SetFinishedTurn) {
player.set_finished_turn(); player_->set_finished_turn();
EXPECT_TRUE(player.has_finished_turn()); EXPECT_TRUE(player_->has_finished_turn());
} }
// After initialization a player must not be broke // After initialization a player must not be broke
TEST_F(PlayerTest, IsBrokeFalse) { TEST_F(PlayerTest, IsBrokeFalse) {
EXPECT_EQ(money, player.get_money()); EXPECT_EQ(money, player_->get_money());
EXPECT_FALSE(player.is_broke()); EXPECT_FALSE(player_->is_broke());
} }
// A player with no money should be broke // A player with no money should be broke
...@@ -69,102 +72,102 @@ TEST_F(PlayerTest, IsBrokeTrue) { ...@@ -69,102 +72,102 @@ TEST_F(PlayerTest, IsBrokeTrue) {
// TODO one of these for a broke player // 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 // When starting a new round only the finished_round flag and the bet_size have to be reset
TEST_F(PlayerTest, SetupRound) { TEST_F(PlayerTest, SetupRound) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
money = player.get_money(); money = player_->get_money();
player_hand.setup_round(err); player_hand.setup_round(err);
player.setup_round(err); player_->setup_round(err);
EXPECT_EQ(bet_size, player.get_bet_size()); EXPECT_EQ(bet_size, player_->get_bet_size());
EXPECT_EQ(money, player.get_money()); EXPECT_EQ(money, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
// After winning a round, the new amount of money has to be computed // After winning a round, the new amount of money has to be computed
// and nothing else changes // and nothing else changes
TEST_F(PlayerTest, WonRound) { TEST_F(PlayerTest, WonRound) {
bet_size = player.get_bet_size(); bet_size = player_->get_bet_size();
money = player.get_money(); money = player_->get_money();
player_name = player.get_player_name(); player_name = player_->get_player_name();
int money_new = bet_size * 2 + money; int money_new = bet_size * 2 + money;
ASSERT_TRUE(player.has_finished_turn()); ASSERT_TRUE(player_->has_finished_turn());
player.won_round(); player_->won_round();
EXPECT_EQ(bet_size, player.get_bet_size()); EXPECT_EQ(bet_size, player_->get_bet_size());
EXPECT_EQ(money_new, player.get_money()); EXPECT_EQ(money_new, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
} }
// After a draw round, the bet is returned to the player and nothing else changes // After a draw round, the bet is returned to the player and nothing else changes
TEST_F(PlayerTest, DrawRound) { TEST_F(PlayerTest, DrawRound) {
bet_size = player.get_bet_size(); bet_size = player_->get_bet_size();
money = player.get_money(); money = player_->get_money();
player_name = player.get_player_name(); player_name = player_->get_player_name();
int money_new = bet_size + money; int money_new = bet_size + money;
ASSERT_TRUE(player.has_finished_turn()); ASSERT_TRUE(player_->has_finished_turn());
player.draw_round(); player_->draw_round();
EXPECT_EQ(bet_size, player.get_bet_size()); EXPECT_EQ(bet_size, player_->get_bet_size());
EXPECT_EQ(money_new, player.get_money()); EXPECT_EQ(money_new, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
// todo // todo
// After a draw round, the bet is returned to the player and nothing else changes // After a draw round, the bet is returned to the player and nothing else changes
TEST_F(PlayerTest, MakeBetHalf) { TEST_F(PlayerTest, MakeBetHalf) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
EXPECT_TRUE(player.make_bet(50, err)); EXPECT_TRUE(player_->make_bet(50, err));
EXPECT_EQ(50, player.get_bet_size()); EXPECT_EQ(50, player_->get_bet_size());
EXPECT_EQ(50, player.get_money()); EXPECT_EQ(50, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
// After a draw round, the bet is returned to the player and nothing else changes // After a draw round, the bet is returned to the player and nothing else changes
TEST_F(PlayerTest, MakeBetAllMoney) { TEST_F(PlayerTest, MakeBetAllMoney) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
EXPECT_TRUE(player.make_bet(100, err)); EXPECT_TRUE(player_->make_bet(100, err));
EXPECT_EQ(100, player.get_bet_size()); EXPECT_EQ(100, player_->get_bet_size());
EXPECT_EQ(0, player.get_money()); EXPECT_EQ(0, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
// After a draw round, the bet is returned to the player and nothing else changes // After a draw round, the bet is returned to the player and nothing else changes
TEST_F(PlayerTest, MakeBetMoneyOver) { TEST_F(PlayerTest, MakeBetMoneyOver) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
EXPECT_FALSE(player.make_bet(200, err)); EXPECT_FALSE(player_->make_bet(200, err));
EXPECT_EQ(0, player.get_bet_size()); EXPECT_EQ(0, player_->get_bet_size());
EXPECT_EQ(100, player.get_money()); EXPECT_EQ(100, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
// After a draw round, the bet is returned to the player and nothing else changes // After a draw round, the bet is returned to the player and nothing else changes
TEST_F(PlayerTest, MakeBetNegative) { TEST_F(PlayerTest, MakeBetNegative) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
EXPECT_FALSE(player.make_bet(-2, err)); EXPECT_FALSE(player_->make_bet(-2, err));
EXPECT_EQ(0, player.get_bet_size()); EXPECT_EQ(0, player_->get_bet_size());
EXPECT_EQ(100, player.get_money()); EXPECT_EQ(100, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
} }
/* /*
// When starting a new round only the finished_round flag and the bet_size have to be reset // When starting a new round only the finished_round flag and the bet_size have to be reset
TEST_F(PlayerTest, WrapupRound) { TEST_F(PlayerTest, WrapupRound) {
player_name = player.get_player_name(); player_name = player_->get_player_name();
money = player.get_money(); money = player_->get_money();
player_hand.setup_round(err); player_hand.setup_round(err);
player.setup_round(err); player_->setup_round(err);
EXPECT_EQ(bet_size, player.get_bet_size()); EXPECT_EQ(bet_size, player_->get_bet_size());
EXPECT_EQ(money, player.get_money()); EXPECT_EQ(money, player_->get_money());
EXPECT_EQ(player_hand, player.get_hand()); EXPECT_EQ(player_hand, player_->get_hand());
EXPECT_EQ(player_name, player.get_player_name()); EXPECT_EQ(player_name, player_->get_player_name());
EXPECT_FALSE(player.has_finished_turn()); EXPECT_FALSE(player_->has_finished_turn());
}*/ }*/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment