public void ShouldThrowOnDrawCardIfDeckIsNull() { var cds = new CardDrawingService(); var ex = Assert.Throws <ArgumentNullException>(() => cds.DrawCard(null)); Assert.That(ex.ParamName, Is.EqualTo("deck")); }
public void ShouldThrowOnDrawCardFromDeckIfNoCardsLeft() { var cds = new CardDrawingService(); var deck = new List <Card>(0); var ex = Assert.Throws <InvalidOperationException>(() => cds.DrawCard(deck)); Assert.That(ex.Message, Contains.Substring("Cannot draw card.")); }
public void ShouldDrawCardFromDeckIfCardsLeft() { var cds = new CardDrawingService(); var deck = cds.DrawDeck(); const int cardsInFullDeck = 52; for (var index = 0; index < cardsInFullDeck; index++) { var card = cds.DrawCard(deck); var cardsLeft = cardsInFullDeck - (index + 1); Assert.That(deck.Count, Is.EqualTo(cardsLeft)); } }