public void DeckReturnsNullOnPeekWhenEmpty() { // Arrange ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); ICardDeck cardDeck = new SnapCardDeck(cardOrderingProvider); // Act var test = cardDeck.Peek(); // Assert Assert.IsNull(test); }
public void DeckCanPeekCard() { // Arrange ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); ICardDeck cardDeck = new SnapCardDeck(cardOrderingProvider); ICard card = new SnapCard(Suit.Spades, Rank.Ace); // Act cardDeck.Add(card); var test = cardDeck.Peek(); // Assert Assert.IsFalse(cardDeck.IsEmpty); }
public void DeckCanAddCorrectCard() { // Arrange ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); ICardDeck cardDeck = new SnapCardDeck(cardOrderingProvider); ICard card = new SnapCard(Suit.Spades, Rank.Ace); // Act cardDeck.Add(card); // Assert var result = cardDeck.Peek(); Assert.IsTrue(result.Suit == Suit.Spades && result.Rank == Rank.Ace); }
public void DeckCanPeekCorrectCard() { // Arrange ICardOrderingProvider cardOrderingProvider = new SuitMajorSortedCardOrderingProvider(); ICardDeck cardDeck = new SnapCardDeck(cardOrderingProvider); ICard card = new SnapCard(Suit.Spades, Rank.Ace); // Act cardDeck.Add(new SnapCard(Suit.Spades, Rank.Two)); cardDeck.Add(card); cardDeck.Add(new SnapCard(Suit.Hearts, Rank.Queen)); var test = cardDeck.Peek(); // Assert // As we're using the SortedCardOrderingProvider, the ace of spades should always be the // top card in the deck. Given that Peek sees cards from the top of the deck, no matter // what we do, if the Ace of Spades is in the deck, Peek() should return it. Assert.IsTrue(test.Suit == card.Suit && test.Rank == card.Rank); }