From cfeacb00d24fefd38a4e3804158f7917c2069381 Mon Sep 17 00:00:00 2001
From: Flavia Taras <flaviataras@student-net-hpx-0954.intern.ethz.ch>
Date: Thu, 26 May 2022 18:09:23 +0200
Subject: [PATCH] most player tests work, some are still gibberish

---
 unit-tests/player.cpp | 43 ++++++++++++++++++++++---------------------
 1 file changed, 22 insertions(+), 21 deletions(-)

diff --git a/unit-tests/player.cpp b/unit-tests/player.cpp
index eb6ae65..12e3d01 100644
--- a/unit-tests/player.cpp
+++ b/unit-tests/player.cpp
@@ -43,7 +43,7 @@ protected:
     int bet_size = 0;
     int money = 100;
     bool finished_turn = false;
-    hand* player_hand;
+    hand player_hand;
     std::string err;
 };
 
@@ -62,11 +62,11 @@ TEST_F(PlayerTest, IsBrokeFalse) {
 // A player with no money should be broke
 // TODO how to set the money of a player to 0 so that I can check this
 TEST_F(PlayerTest, IsBrokeTrue) {
-    EXPECT_TRUE(player_hand->add_card(cards[1][0], err));
-    EXPECT_TRUE(player_hand->add_card(cards[3][0], err));
-    EXPECT_TRUE(player_hand->add_card(cards[13][0], err));
+    player_hand.add_card(cards[1][0], err);
+    player_hand.add_card(cards[3][0], err);
+    player_hand.add_card(cards[13][0], err);
     std::vector<card*> expected_hand = {cards[1][0], cards[3][0], cards[13][0]};
-    EXPECT_EQ(expected_hand, player_hand->get_cards());
+    EXPECT_EQ(expected_hand, player_hand.get_cards());
 }
 
 // TODO one of these for a broke player
@@ -74,11 +74,11 @@ TEST_F(PlayerTest, IsBrokeTrue) {
 TEST_F(PlayerTest, SetupRound) {
     player_name = player_->get_player_name();
     money = player_->get_money();
-    player_hand->setup_round(err);
+    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_hand.get_cards(), player_->get_hand()->get_cards());
     EXPECT_EQ(player_name, player_->get_player_name());
     EXPECT_FALSE(player_->has_finished_turn());
 }
@@ -94,7 +94,7 @@ TEST_F(PlayerTest, WonRound) {
     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_hand.get_cards(), player_->get_hand()->get_cards());
     EXPECT_EQ(player_name, player_->get_player_name());
 }
 
@@ -108,52 +108,53 @@ TEST_F(PlayerTest, DrawRound) {
     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_hand.get_cards(), player_->get_hand()->get_cards());
     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
+// When making a bet with half the money, only the bet_size and the money of the player are adjusted
 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_hand.get_cards(), player_->get_hand()->get_cards());
     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) {
+// Making an all in bet should be possible
+TEST_F(PlayerTest, MakeBetAllIn) {
     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_hand.get_cards(), player_->get_hand()->get_cards());
     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
+// todo look into if it's throwing an exception
+// A bet with more money than the player has is illegal
 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_hand.get_cards(), player_->get_hand()->get_cards());
     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
+// todo look into if it's throwing an exception
+// A negative bet is illegal
 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_hand.get_cards(), player_->get_hand()->get_cards());
     EXPECT_EQ(player_name, player_->get_player_name());
     EXPECT_FALSE(player_->has_finished_turn());
 }
@@ -163,11 +164,11 @@ TEST_F(PlayerTest, MakeBetNegative) {
 TEST_F(PlayerTest, WrapupRound) {
     player_name = player_->get_player_name();
     money = player_->get_money();
-    player_hand->setup_round(err);
+    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_hand.get_cards(), player_->get_hand()->get_cards());
     EXPECT_EQ(player_name, player_->get_player_name());
     EXPECT_FALSE(player_->has_finished_turn());
 }*/
-- 
GitLab