Beispiel #1
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));
            }
        }
Beispiel #2
0
        public void ShouldDrawDeckWithAllKindsAndSuits()
        {
            var cds  = new CardDrawingService();
            var deck = cds.DrawDeck();

            Assert.That(deck.Count, Is.EqualTo(52));

            var kinds = (Enum.GetValues(typeof(Kinds)) as Kinds[])
                        .Where(kind => kind != Kinds.Any).ToArray();
            var suits = (Enum.GetValues(typeof(Suits)) as Suits[])
                        .Where(suit => suit != Suits.Any).ToArray();

            foreach (var kind in kinds)
            {
                foreach (var suit in suits)
                {
                    var card = deck.Single(c => c.Kind == (int)kind && c.Suit == (int)suit);
                }
            }
            Assert.Pass("Cards of every kind and suit found in deck.");
        }