public void ColorettoDeckProvider_FixedCardPosition()
        {
            ColorettoDeckProvider target = new ColorettoDeckProvider();
            Deck<ColorettoCard> deck = target.CreateDeck(7, true);

            ColorettoCard lastCycleCard = DeckEnumeration(deck).Where(cc=>cc.CardType == ColorettoCardTypes.LastCycle).FirstOrDefault();
            Assert.IsNotNull(lastCycleCard);
            Assert.IsTrue(lastCycleCard.FixedDeckPosition.HasValue);

            StringBuilder sb = new StringBuilder();
            foreach (var item in DeckEnumeration(deck))
            {
                sb.AppendLine(item.CardType.ToString());
            }

            int count=0;
            foreach (ColorettoCard card in DeckEnumeration(deck))
            {
                if (card.CardType == ColorettoCardTypes.LastCycle)
                    break;
                else
                    count += 1;
            }

            Assert.AreEqual<int>(lastCycleCard.FixedDeckPosition.Value, count);
        }
        public void ColorettoDeckProvider_ConstructorTest()
        {
            ColorettoDeckProvider target = new ColorettoDeckProvider();
            int numberOfCards = target.OrderedSetOfCards.Count();

            int expectedNumberOfColoredCards = 63;
            int expectedNumberOfPlus2 = 10;
            int expectedNumberOfWilds = 3;
            int expectedNumberOfEndTurnCards = 1;

            Assert.AreEqual<int>(expectedNumberOfColoredCards + expectedNumberOfPlus2 + expectedNumberOfWilds + expectedNumberOfEndTurnCards, numberOfCards);
            Assert.AreEqual<int>(expectedNumberOfColoredCards, target.OrderedSetOfCards.Where(cc => cc.CardType == ColorettoCardTypes.Color).Count());
            Assert.AreEqual<int>(expectedNumberOfPlus2, target.OrderedSetOfCards.Where(cc => cc.CardType == ColorettoCardTypes.Plus2).Count());
            Assert.AreEqual<int>(expectedNumberOfWilds, target.OrderedSetOfCards.Where(cc => cc.CardType == ColorettoCardTypes.Wild).Count());
            Assert.AreEqual<int>(expectedNumberOfEndTurnCards, target.OrderedSetOfCards.Where(cc => cc.CardType == ColorettoCardTypes.LastCycle).Count());
        }