Exemplo n.º 1
0
        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."));
        }
Exemplo n.º 2
0
        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));
            }
        }