Example #1
0
        public void Can_Cut_Cards()
        {
            var sut = new EuchreDeck();

            sut.Cut();

            All_Cards_Are_Unique();

            Assert.AreEqual(24, sut.Cards.Count);
        }
Example #2
0
        public void Can_Shuffle_Cards()
        {
            var sut = new EuchreDeck();

            for (var i = 0; i < 100; i++)
            {
                sut.Shuffle();
            }

            All_Cards_Are_Unique();

            Assert.AreEqual(24, sut.Cards.Count);
        }
Example #3
0
        public void Deck_Has_N_Cards(int deckCount, int expectedCardCount)
        {
            var sut = new EuchreDeck(deckCount);

            var cards = sut.Cards;

            Assert.AreEqual(expectedCardCount, cards.Count);

            //we should have n-number of any particular card
            var queenOfHearts = cards.Where(x => x.Rank.Name == StandardRank.Queen && x.Suit == StandardSuit.Hearts);

            Assert.AreEqual(deckCount, queenOfHearts.Count());
        }
Example #4
0
        public void All_Cards_Are_Unique()
        {
            var sut = new EuchreDeck();

            var cards = sut.Cards;

            var hashes = new Dictionary <int, ICard>();

            foreach (var card in cards)
            {
                var hash = card.GetHashCode();

                if (hashes.ContainsKey(hash))
                {
                    throw new Exception($"{card.Rank} {card.Suit} has already been added to this list!");
                }
                else
                {
                    hashes.Add(hash, card);
                }
            }

            Assert.AreEqual(24, hashes.Count);
        }
Example #5
0
        public void EuchreDeckCtorTest()
        {
            EuchreDeck deck = new EuchreDeck();

            Assert.IsTrue(deck.Cards.Count == 24);
        }