public void BlackJackGameBothBlackJackPushNoOneWins() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.BLACKJACK); deckOfCards.Shuffle(CardGameLibrary.Constants.NCARDS); var blackJackGame = new CardGames.BlackJackGame(deckOfCards); var playerOfCard = new CardGameLibrary.PlayerOfCard(); playerOfCard.PlayerNumber = 1; var blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Spades, 1); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Hearts, 10); playerOfCard.PlayerCards.Add(blackJackCard); blackJackGame.PlayerOfCardsInGame.Add(playerOfCard); playerOfCard = new CardGameLibrary.PlayerOfCard(); playerOfCard.PlayerNumber = 2; playerOfCard.IsDealer = true; blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Clubs, 1); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Diamonds, 10); playerOfCard.PlayerCards.Add(blackJackCard); blackJackGame.PlayerOfCardsInGame.Add(playerOfCard); var evaluatedWinners = blackJackGame.EvaluateWinners(); Assert.AreEqual(evaluatedWinners.Count, 1); Assert.AreEqual(evaluatedWinners[0].playerNumber, 1); Assert.AreEqual(evaluatedWinners[0].whoWon, CardGameLibrary.DealerOrPlayerOrNone.None); }
public void HighCardGameTwoPlayersWinner() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.HIGHCARD); deckOfCards.Shuffle(CardGameLibrary.Constants.NCARDS); var highCardGame = new CardGames.HighCardGame(deckOfCards); var playerOfCard1 = new CardGameLibrary.PlayerOfCard(); playerOfCard1.PlayerNumber = 1; playerOfCard1.PlayerCards.Add(highCardGame.GetCard()); highCardGame.PlayerOfCardsInGame.Add(playerOfCard1); var playerOfCard2 = new CardGameLibrary.PlayerOfCard(); playerOfCard2.PlayerNumber = 2; playerOfCard2.PlayerCards.Add(highCardGame.GetCard()); highCardGame.PlayerOfCardsInGame.Add(playerOfCard2); var evaluatedWinners = highCardGame.EvaluateWinners(); Assert.IsTrue(evaluatedWinners.Count <= 2); for (int i = 0; i < highCardGame.PlayerOfCardsInGame.Count; i++) { var player = highCardGame.PlayerOfCardsInGame[i]; Assert.AreEqual(player.PlayerCards.Count, 1); if (i > 0) { var previousPlayer = highCardGame.PlayerOfCardsInGame[i - 1]; if (previousPlayer.PlayerCards[0].GetRank() > player.PlayerCards[0].GetRank()) { Assert.AreEqual(evaluatedWinners.Count, 1); Assert.AreEqual(evaluatedWinners[0], 1); } else if (previousPlayer.PlayerCards[0].GetRank() < player.PlayerCards[0].GetRank()) { Assert.AreEqual(evaluatedWinners.Count, 1); Assert.AreEqual(evaluatedWinners[0], 2); } else { Assert.AreEqual(evaluatedWinners.Count, 2); Assert.IsTrue(evaluatedWinners.Exists(e => e == 1)); Assert.IsTrue(evaluatedWinners.Exists(e => e == 2)); } } } }
public void DeckOfCardsShuffleHighCard() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.HIGHCARD); deckOfCards.Shuffle(1, 0, 1); var highCard1 = deckOfCards.Deal(); Assert.AreEqual(highCard1.GetSuit(), CardGameLibrary.Suit.Clubs); Assert.AreEqual(highCard1.GetRank(), 2); var highCard2 = deckOfCards.Deal(); Assert.AreEqual(highCard2.GetSuit(), CardGameLibrary.Suit.Clubs); Assert.AreEqual(highCard2.GetRank(), 14); }
public void DeckOfCardsShuffleBlackJack() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.BLACKJACK); deckOfCards.Shuffle(1, 0, 1); var blackJackCard1 = deckOfCards.Deal(); Assert.AreEqual(blackJackCard1.GetSuit(), CardGameLibrary.Suit.Clubs); Assert.AreEqual(blackJackCard1.GetRank(), 2); var blackJackCard2 = deckOfCards.Deal(); Assert.AreEqual(blackJackCard2.GetSuit(), CardGameLibrary.Suit.Clubs); Assert.AreEqual(blackJackCard2.GetRank(), 1); }
public void BlackJackGamePlayerWithThreeAcesInHandNotBustWinner() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.BLACKJACK); deckOfCards.Shuffle(CardGameLibrary.Constants.NCARDS); var blackJackGame = new CardGames.BlackJackGame(deckOfCards); var playerOfCard = new CardGameLibrary.PlayerOfCard(); playerOfCard.PlayerNumber = 1; var blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Spades, 1); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Hearts, 1); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Clubs, 1); playerOfCard.PlayerCards.Add(blackJackCard); playerOfCard.HasSoftScore = true; blackJackGame.PlayerOfCardsInGame.Add(playerOfCard); playerOfCard = new CardGameLibrary.PlayerOfCard(); playerOfCard.PlayerNumber = 2; playerOfCard.IsDealer = true; blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Diamonds, 2); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Clubs, 8); playerOfCard.PlayerCards.Add(blackJackCard); blackJackCard = new CardGameLibrary.BlackJackCard(CardGameLibrary.Suit.Hearts, 2); playerOfCard.PlayerCards.Add(blackJackCard); blackJackGame.PlayerOfCardsInGame.Add(playerOfCard); var evaluatedWinners = blackJackGame.EvaluateWinners(); Assert.AreEqual(evaluatedWinners.Count, 1); Assert.AreEqual(evaluatedWinners[0].playerNumber, 1); Assert.AreEqual(evaluatedWinners[0].whoWon, CardGameLibrary.DealerOrPlayerOrNone.Player); }
public void DeckOfCardsTypeHighCard() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.HIGHCARD); Assert.AreEqual(deckOfCards.Deal().GetType(), typeof(CardGameLibrary.HighCard)); }
public void DeckOfCardsTypeBlackJack() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.BLACKJACK); Assert.AreEqual(deckOfCards.Deal().GetType(), typeof(CardGameLibrary.BlackJackCard)); }
public void HighCardGameMultiplePlayersWinner() { var deckOfCards = new CardGameLibrary.DeckOfCards(CardGameLibrary.Constants.HIGHCARD); deckOfCards.Shuffle(CardGameLibrary.Constants.NCARDS); var highCardGame = new CardGames.HighCardGame(deckOfCards); for (int i = 1; i <= CardGameLibrary.Constants.NCARDS / 2; i++) { var playerOfCard = new CardGameLibrary.PlayerOfCard(); playerOfCard.PlayerNumber = i; playerOfCard.PlayerCards.Add(highCardGame.GetCard()); highCardGame.PlayerOfCardsInGame.Add(playerOfCard); } var evaluatedWinners = highCardGame.EvaluateWinners(); Assert.IsTrue(evaluatedWinners.Count <= 4); var winners = new System.Collections.Generic.List <int>(); int winningRank = 0; for (int i = 0; i < highCardGame.PlayerOfCardsInGame.Count; i++) { var player = highCardGame.PlayerOfCardsInGame[i]; Assert.AreEqual(player.PlayerCards.Count, 1); if (i > 0) { var previousPlayer = highCardGame.PlayerOfCardsInGame[i - 1]; if (previousPlayer.PlayerCards[0].GetRank() > player.PlayerCards[0].GetRank() && winningRank < previousPlayer.PlayerCards[0].GetRank()) { winningRank = previousPlayer.PlayerCards[0].GetRank(); } else if (previousPlayer.PlayerCards[0].GetRank() < player.PlayerCards[0].GetRank() && winningRank < player.PlayerCards[0].GetRank()) { winningRank = player.PlayerCards[0].GetRank(); } else if (winningRank < player.PlayerCards[0].GetRank()) { winningRank = player.PlayerCards[0].GetRank(); } } } foreach (var player in highCardGame.PlayerOfCardsInGame) { if (player.PlayerCards[0].GetRank() == winningRank) { winners.Add(player.PlayerNumber); } } //CollectionAssert.AreEqual Assert.AreEqual(evaluatedWinners.Count, winners.Count); foreach (var winner in winners) { Assert.IsTrue(evaluatedWinners.Exists(e => e == winner)); } }