public void ShouldThrowOnDrawHandFromDeckIfNotEnoughCardsLeft() { var cds = new CardDrawingService(); var deck = new List <Card>(1) { new Card(Kinds.Ace, Suits.Diamonds) }; var ex = Assert.Throws <InvalidOperationException>(() => cds.DrawHand(deck, 2)); Assert.That(ex.Message, Contains.Substring("Cannot draw hand.")); }
public void ShouldDrawHandFromDeckIfCardsLeft() { var cds = new CardDrawingService(); var deck = cds.DrawDeck(); const int cardsInHand = 2; const int cardsInFullDeck = 52; for (var index = 0; index < cardsInFullDeck / cardsInHand; index++) { var card = cds.DrawHand(deck, cardsInHand); var cardsLeft = cardsInFullDeck - ((index + 1) * cardsInHand); Assert.That(deck.Count, Is.EqualTo(cardsLeft)); } }