public void FourSevensAndTwo()
            {
                // ARRANGE
                var fourAces = FourAcesAndANine().Cards.Where(
                    c =>
                    Rank.ACE == c.Rank);

                var fourSevens = fourAces.Select(
                    c =>
                    new Card(Rank.SEVEN, c.Suit)).ToArray();

                var game = new Game(
                    fourSevens[0],
                    fourSevens[1],
                    fourSevens[2],
                    fourSevens[3],
                    CardBuilder.Two().Clubs());

                // ACT
                var result = new FourOfAKind().Evaluate(game);

                // ASSERT
                Assert.IsTrue(result.Success());
                CollectionAssert.AreEquivalent(fourSevens.ToList(), result.UsedCards.ToList());
            }
Example #2
0
        public void FourOfAKind()
        {
            // ARRANGE
            var game = new Game(
                CardBuilder.Two().Hearths(),
                CardBuilder.Two().Clubs(),
                CardBuilder.Seven().Hearths(),
                CardBuilder.Two().Diamonds(),
                CardBuilder.Two().Spades());

            // ACT
            new GameEvaluator().Evaluate(game);

            // ASSERT
            Assert.AreEqual(GameCategory.FOUR_OF_A_KIND, game.Category);
        }
            public void WrapAround()
            {
                // ARRANGE
                var game = new Game(
                    CardBuilder.King().Hearths(),
                    CardBuilder.Ace().Hearths(),
                    CardBuilder.Two().Hearths(),
                    CardBuilder.Three().Hearths(),
                    CardBuilder.Four().Hearths());

                // ACT
                var result = new StraightFlush().Evaluate(game);

                // ASSERT
                Assert.IsFalse(result.Success());
            }