public void DeckIsNotEmptyAfterUnevenlyDistributedDeal() { // Arrange ICardTransport transport = new SnapCardTransport(); ICardDealer dealer = new SnapCardDealer(transport); var player1 = new SnapPlayer("Player 1", new SnapHand()); var player2 = new SnapPlayer("Player 2", new SnapHand()); var players = new List <SnapPlayer> { player1, player2, }; ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); var deck = new SnapCardDeck(cardOrderingProvider); deck.Add(new SnapCard(Suit.Clubs, Rank.Ace)); deck.Add(new SnapCard(Suit.Clubs, Rank.Nine)); deck.Add(new SnapCard(Suit.Spades, Rank.Seven)); // Act dealer.Deal(deck, players); // Assert Assert.IsFalse(deck.IsEmpty); }
public void DealerDealsCorrectCards() { // Arrange ICardTransport transport = new SnapCardTransport(); ICardDealer dealer = new SnapCardDealer(transport); var player1 = new SnapPlayer("Player 1", new SnapHand()); var player2 = new SnapPlayer("Player 2", new SnapHand()); var players = new List <SnapPlayer> { player1, player2, }; ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); var deck = new SnapCardDeck(cardOrderingProvider); deck.Add(new SnapCard(Suit.Clubs, Rank.Ace)); deck.Add(new SnapCard(Suit.Clubs, Rank.Nine)); // Act dealer.Deal(deck, players); // Assert Assert.IsTrue(player1.Hand.Peek().Suit == Suit.Clubs && player1.Hand.Peek().Rank == Rank.Ace); Assert.IsTrue(player2.Hand.Peek().Suit == Suit.Clubs && player2.Hand.Peek().Rank == Rank.Nine); }
public async Task PlayerCheckForMatchAsyncFailsWhenCentralPileIsEmpty() { // Arrange var hand = new SnapHand(); var player = new SnapPlayer("Player 1", hand); var centralPile = new SnapCentralPile(); // Act var test = await player.CheckForMatchAsync(centralPile); // Assert Assert.IsFalse(test); }
public async Task PlayerCheckForMatchAsyncFailsWhenNotPresent() { // Arrange var hand = new SnapHand(); var player = new SnapPlayer("Player 1", hand); var centralPile = new SnapCentralPile(); centralPile.Add(new SnapCard(Suit.Hearts, Rank.Queen)); centralPile.Add(new SnapCard(Suit.Clubs, Rank.King)); // Act var test = await player.CheckForMatchAsync(centralPile); // Assert Assert.IsFalse(test); }