public void CroupierFinishTest() { Game game = new Game(); Croupier croupier = new Croupier(game); croupier.BeginGame(); croupier.Finish(); Assert.AreEqual(croupier.Hand.Cards.Count, 0); Assert.Pass(); }
public void Start() { Logger logger = new Logger(this); logger.WriteStartMessage(); for (int i = 1; i <= 40; i++) { logger.WriteCurrentBet(i); if (Deck.CountCards() < 140) { Deck = new Deck(); } foreach (Player player in Players) { player.MakeBet(); logger.WriteMadeBetMessage(player); } Croupier.BeginGame(); foreach (Player player in Players) { player.BeginGame(); } foreach (Player player in Players) { player.PlayTurn(); } Croupier.DrawCards(); foreach (Player player in Players) { player.Finish(); } for (int j = 0; j < Players.Count; j++) { if (Players[j].Balance <= 0) { logger.WriteOutOfGameMessage(Players[j]); Players.Remove(Players[j]); j--; } } if (Players.Count == 0) { logger.WriteGameOverMessage(); break; } Croupier.Finish(); } logger.WriteResults(); }
public void PlayerFinishTest() { Game game = new Game(); FirstBot bot = new FirstBot(game, 1000); Croupier croupier = game.Croupier; bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Diamonds)); bot.Finish(); Assert.AreEqual(bot.Balance, 950); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1000); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); bot.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Spades)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1000); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); bot.Hand.Cards.Add(new Card(CardRank.Ten, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Spades)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1025); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Spades)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1000); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Six, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1025); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Eight, CardSuit.Clubs)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1000); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Clubs)); croupier.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Diamonds)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1025); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); bot.Hand.Cards.Add(new Card(CardRank.Four, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 1025); bot = new FirstBot(game, 1000); bot.MakeBet(); bot.Hand.Cards.Add(new Card(CardRank.King, CardSuit.Clubs)); bot.Hand.Cards.Add(new Card(CardRank.Five, CardSuit.Diamonds)); croupier.Hand.Cards.Add(new Card(CardRank.Ace, CardSuit.Spades)); croupier.Hand.Cards.Add(new Card(CardRank.Seven, CardSuit.Clubs)); bot.Finish(); croupier.Finish(); Assert.AreEqual(bot.Balance, 950); Assert.Pass(); }