コード例 #1
0
        public void ShouldThrowOnDrawCardIfDeckIsNull()
        {
            var cds = new CardDrawingService();

            var ex = Assert.Throws <ArgumentNullException>(() => cds.DrawCard(null));

            Assert.That(ex.ParamName, Is.EqualTo("deck"));
        }
コード例 #2
0
        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."));
        }
コード例 #3
0
        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));
            }
        }