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()); }