예제 #1
0
        public void GetLastCards_Default_ReturnsEmptyList()
        {
            IGameProvider provider = new FakeGameProvider()
            {
                Colors = new List <Color> {
                    Color.Blue, Color.Green, Color.Red, Color.White, Color.Yellow
                },
                Ranks = new List <Rank> {
                    Rank.One, Rank.Two
                },
            };

            var pile = new FireworkPile(provider);

            var nextCards = pile.GetLastCards();

            Assert.IsEmpty(nextCards);
        }
예제 #2
0
        public void GetLastCards_FireworkWithGreenOneCard_ReturnsOneForGreenColor()
        {
            IGameProvider provider = new FakeGameProvider()
            {
                Colors = new List <Color> {
                    Color.Green, Color.Blue
                },
                Ranks = new List <Rank> {
                    Rank.One, Rank.Two
                },
            };
            var pile = new FireworkPile(provider);

            var greenOneCard = new Card(Color.Green, Rank.One);

            pile.AddCard(greenOneCard);

            var lastCards = pile.GetLastCards();

            var otherGreenOneCard = new Card(Color.Green, Rank.One);

            Assert.Greater(lastCards.Count, 0);
            Assert.That(lastCards.Any(card => card.Equals(otherGreenOneCard)));
        }