コード例 #1
0
        public void IsTwoPairShouldReturnFalseIfCardsMakeFullHouse()
        {
            var cards = new List<ICard>() { new Card(CardFace.Ten, CardSuit.Clubs), new Card(CardFace.Ten, CardSuit.Spades), new Card(CardFace.Ten, CardSuit.Diamonds), new Card(CardFace.Four, CardSuit.Hearts), new Card(CardFace.Four, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #2
0
        public void IsTwoPairShouldReturnFalseIfAllCardsAreTheSameSuit()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Two, CardSuit.Spades), new Card(CardFace.Five, CardSuit.Spades), new Card(CardFace.Ten, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Spades) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #3
0
        public void IsTwoPairShouldReturnFalseIfCardsMakeOnePair()
        {
            var cards = new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.Eight, CardSuit.Spades), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #4
0
        public void IsTwoPairPairShouldThrowAnExceptionWhenAnInvalidHandWithLessThan5CardsIsPassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            checker.IsTwoPair(hand);
        }
コード例 #5
0
        public void IsTwoPair_HandHasTwoCardsOfTheSameFaceValueAndTheOtherThreeCardsHaveEqualFaceValue_ShouldReturnFalse()
        {
            // Arrange
            var hand             = new HandTypePresetsFakeHand(HandType.IsFullHouse);
            var pokerHandChecker = new PokerHandsChecker();

            // Act
            var actualResult = pokerHandChecker.IsTwoPair(hand);

            // Assert
            Assert.IsFalse(actualResult);
        }
コード例 #6
0
        public void IsTwoPair_HandHasTwoSetsOfCardsWithEqualFaceValue_ShouldReturnTrue()
        {
            // Arrange
            var hand             = new HandTypePresetsFakeHand(HandType.IsTwoPair);
            var pokerHandChecker = new PokerHandsChecker();

            // Act
            var actualResult = pokerHandChecker.IsTwoPair(hand);

            // Assert
            Assert.IsTrue(actualResult);
        }
コード例 #7
0
        public void InvalidTwoPair()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Clubs),
                new Card(CardFace.Eight, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Five, CardSuit.Spades),
            });

            Assert.AreEqual(false, checker.IsTwoPair(hand));
        }
コード例 #8
0
        public void TwoPairFiveAndTwo()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Clubs),
                new Card(CardFace.Two, CardSuit.Spades),
            });

            Assert.AreEqual(true, checker.IsTwoPair(hand));
        }
コード例 #9
0
        public void TestHandChecker_PassValidTwoPair_ShouldReturnTrue()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Clubs),
                new Card(CardFace.Seven, CardSuit.Hearts),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Clubs)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(pokerChecker.IsTwoPair(hand));
        }
コード例 #10
0
        public void CheckTwoPairsHand()
        {
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Jack, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Diamonds),
            });
            IPokerHandsChecker checker = new PokerHandsChecker();

            Assert.AreEqual(true, checker.IsTwoPair(hand));
        }
コード例 #11
0
        public void TestTwoPairs()
        {
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Three, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Three, CardSuit.Diamonds),
            });

            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsTrue(checker.IsTwoPair(hand));
        }
コード例 #12
0
        public void IsTwoPairShouldReturnTrue()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsTwoPair(hand));
        }
コード例 #13
0
        public void IsTwoPairShouldReturnFalseWhenNotMatchingHandPassed_OnePair()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #14
0
        public void TestFalseTwoPairsDifferentCards()
        {
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Five, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Diamonds),
            });

            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #15
0
        public void IsTwoPair_TwoPair_ReturnsTrue()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Clubs),
            });

            IPokerHandsChecker checker = new PokerHandsChecker();
            bool check = checker.IsTwoPair(hand);

            Assert.True(check);
        }
コード例 #16
0
        public void TestIsTwoPairLessCards()
        {
            Card          cardOne   = new Card(CardFace.Two, CardSuit.Diamonds);
            Card          cardTwo   = new Card(CardFace.Two, CardSuit.Hearts);
            Card          cardThree = new Card(CardFace.Ten, CardSuit.Spades);
            IList <ICard> cards     = new List <ICard>();

            cards.Add(cardOne);
            cards.Add(cardTwo);
            cards.Add(cardThree);
            Hand hand = new Hand(cards);
            PokerHandsChecker poker = new PokerHandsChecker();
            bool isTwoPair          = poker.IsTwoPair(hand);

            Assert.AreEqual(false, isTwoPair, "IsTwoPair() method in class PokerHandsChecker is not working correctly.");
        }
コード例 #17
0
        public void TestIsTwoPairOfFourOfAKind()
        {
            List <ICard> cards = new List <ICard>()
            {
                new Card(CardFace.Ten, CardSuit.Clubs),
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Ten, CardSuit.Diamonds),
                new Card(CardFace.Ten, CardSuit.Hearts),
                new Card(CardFace.King, CardSuit.Clubs)
            };
            Hand hand = new Hand(cards);
            PokerHandsChecker handChecker = new PokerHandsChecker();
            bool isTwoPair = handChecker.IsTwoPair(hand);

            Assert.IsFalse(isTwoPair);
        }
コード例 #18
0
        public void IsTwoPairFalseTest()
        {
            Card two    = new Card(CardFace.Two, CardSuit.Clubs);
            Card ten    = new Card(CardFace.Ten, CardSuit.Clubs);
            Card king   = new Card(CardFace.King, CardSuit.Clubs);
            Card queenD = new Card(CardFace.Queen, CardSuit.Diamonds);
            Card ace    = new Card(CardFace.Ace, CardSuit.Diamonds);
            IPokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List <ICard>()
            {
                two, ten, king, queenD, ace
            });
            bool result = checker.IsTwoPair(hand);

            Assert.AreEqual(false, result);
        }
コード例 #19
0
        public void IsTwoPairs_TwoPairs()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Seven, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Clubs),
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsTwoPair(hand);

            Assert.IsTrue(result);
        }
コード例 #20
0
        public void IsTwoPairs_ThreeSameFaceCards()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.Five, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Five, CardSuit.Spades)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsTwoPair(hand);

            Assert.IsFalse(result);
        }
コード例 #21
0
        public void IsNotTwoPairTest()
        {
            PokerHandsChecker target = new PokerHandsChecker();
            IList <ICard>     cards  = new List <ICard>();

            cards.Add(new Card(CardFace.King, CardSuit.Hearts));
            cards.Add(new Card(CardFace.King, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Nine, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Ten, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.King, CardSuit.Clubs));
            IHand hand     = new Hand(cards);
            bool  expected = false;
            bool  actual;

            actual = target.IsTwoPair(hand);
            Assert.AreEqual(expected, actual);
        }
コード例 #22
0
        public void IsTwoPairs_TwoPairs()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Seven,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Diamonds),
                new Card(CardFace.Seven,CardSuit.Spades),
                new Card(CardFace.Two,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Clubs),
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsTwoPair(hand);

            Assert.IsTrue(result);
        }
コード例 #23
0
        public void IsTwoPairs_ThreeSameFaceCards()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Seven,CardSuit.Diamonds),
                new Card(CardFace.Two,CardSuit.Spades),
                new Card(CardFace.Five,CardSuit.Hearts),
                new Card(CardFace.Five,CardSuit.Clubs),
                new Card(CardFace.Five,CardSuit.Spades)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsTwoPair(hand);

            Assert.IsFalse(result);
        }
コード例 #24
0
        public void IsNotTwoPairsTestNotValidHand()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Three, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Three, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Spades)
            });

            bool expectedIsTwoPairs = false;
            bool actual;

            actual = checker.IsTwoPair(hand);
            Assert.AreEqual(expectedIsTwoPairs, actual);
        }
コード例 #25
0
        public void ThreeOfAkind()
        {
            IList <ICard> cards = new List <ICard>();

            cards.Add(new Card(CardFace.Two, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Ace, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Two, CardSuit.Hearts));
            cards.Add(new Card(CardFace.King, CardSuit.Spades));
            cards.Add(new Card(CardFace.Two, CardSuit.Diamonds));

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            bool result   = checker.IsTwoPair(hand);
            bool expected = false;

            Assert.AreEqual(expected, result);
        }
コード例 #26
0
        public void IsTwoPair_ShouldReturnFalse_IfPlayerDoesNotHasTwoPairInHisHand()
        {
            // Arrange
            IHand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.King, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Diamonds),
            });
            var expected = false;

            // Act
            var checker = new PokerHandsChecker();
            var result  = checker.IsTwoPair(hand);

            // Assert
            NUnit.Core.NUnitFramework.Assert.AreEqual(expected, result);
        }
コード例 #27
0
ファイル: Program.cs プロジェクト: vitezp/poker-hand-checker
    internal static void Main()
    {
        ICard card = new Card(CardFace.Ace, CardSuit.Clubs);

        System.Console.WriteLine(card);

        IHand hand = new Hand(new List <ICard>()
        {
            new Card(CardFace.Five, CardSuit.Diamonds),
            new Card(CardFace.Five, CardSuit.Spades),
            new Card(CardFace.Nine, CardSuit.Clubs),
            new Card(CardFace.Nine, CardSuit.Diamonds),
            new Card(CardFace.King, CardSuit.Hearts),
        });

        System.Console.WriteLine(hand);

        IHand otherHand = new Hand(new List <ICard>()
        {
            new Card(CardFace.Six, CardSuit.Hearts),
            new Card(CardFace.Six, CardSuit.Spades),
            new Card(CardFace.Three, CardSuit.Hearts),
            new Card(CardFace.Three, CardSuit.Diamonds),
            new Card(CardFace.King, CardSuit.Clubs),
        });

        System.Console.WriteLine(otherHand);

        IPokerHandsChecker checker = new PokerHandsChecker();

        System.Console.WriteLine(checker.IsStraightFlush(hand));
        System.Console.WriteLine(checker.IsStraight(hand));
        System.Console.WriteLine(checker.IsThreeOfAKind(hand));
        System.Console.WriteLine(checker.IsFlush(hand));
        System.Console.WriteLine(checker.IsOnePair(hand));
        System.Console.WriteLine(checker.IsTwoPair(hand));

        System.Console.WriteLine(checker.CompareHands(hand, otherHand));
    }
コード例 #28
0
 public void TestTwoPairNullValue()
 {
     handsChecker.IsTwoPair(null);
 }
コード例 #29
0
        public void IsTwoPairShouldReturnFalseWhenNotMatchingHandPassed_OnePair()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.King, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #30
0
        public void IsTwoPairShouldReturnTrue()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Spades),
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsTwoPair(hand));
        }
コード例 #31
0
        public void IsTwoPair_ShouldReturnExpectedValue(bool expected, IHand hand)
        {
            var result = PokerHandsChecker.IsTwoPair(hand);

            Assert.AreEqual(expected, result);
        }
コード例 #32
0
        public void IsTwoPair_TestForTwoPair_ShouldThrowAnException()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Four, CardSuit.Spades),
                new Card(CardFace.Eight, CardSuit.Spades),
                new Card(CardFace.Five, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Spades),
                new Card(CardFace.Nine, CardSuit.Spades)
            };
            var hand = new Hand(cards);

            Assert.Throws<ArgumentException>(() => checker.IsTwoPair(hand));
        }
コード例 #33
0
        public void IsTwoPairShouldReturnFalseIfCardsMakeStraightFlush()
        {
            var cards = new List<ICard>() { new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Seven, CardSuit.Clubs), new Card(CardFace.Six, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Four, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #34
0
        public void IsTwoPairShouldThrowAnExceptionWhenAHandWithNullCardsIsPassed()
        {
            List<ICard> cards = null;
            var checker = new PokerHandsChecker();

            checker.IsTwoPair(new Hand(cards));
        }
コード例 #35
0
        public void IsTwoPairShouldThrowArgumentNullExceptionWhenHandIsNull()
        {
            IHand nullHand = null;

            bool isTwoPairHand = pockerHandsChecker.IsTwoPair(nullHand);
        }
コード例 #36
0
        public void IsTwoPairShouldReturnFalseWhendPassedThreeOfAKind()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Diamonds), new Card(CardFace.Five, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #37
0
        public void IsTwoPairShouldReturnTrueIfCardsMakeTwoPairs()
        {
            var cards = new List<ICard>() { new Card(CardFace.Ace, CardSuit.Clubs), new Card(CardFace.Ace, CardSuit.Spades), new Card(CardFace.Queen, CardSuit.Hearts), new Card(CardFace.Queen, CardSuit.Diamonds), new Card(CardFace.Three, CardSuit.Spades) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsTrue(checker.IsTwoPair(hand));
        }
コード例 #38
0
        public void IsTwoPairShouldThrowAnExceptionWhenFiveOfAKindArePassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Hearts), new Card(CardFace.King, CardSuit.Diamonds) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            checker.IsTwoPair(hand);
        }
コード例 #39
0
        public void IsTwoPairShouldThrowAnExceptionWhenANullHandIsPassed()
        {
            IHand hand = null;
            var checker = new PokerHandsChecker();

            checker.IsTwoPair(hand);
        }
コード例 #40
0
        public void InvalidTwoPair()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Clubs),
                new Card(CardFace.Eight, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Five, CardSuit.Spades),
            });

            Assert.AreEqual(false, checker.IsTwoPair(hand));
        }
コード例 #41
0
        public void IsTwoPairShouldReturnFalseIfThereAreOnlyTwoCardsTheSameFace()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Five, CardSuit.Spades), new Card(CardFace.Ten, CardSuit.Spades), new Card(CardFace.Seven, CardSuit.Diamonds) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsTwoPair(hand));
        }
コード例 #42
0
        public void TwoPairFiveAndTwo()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Clubs),
                new Card(CardFace.Two, CardSuit.Spades),
            });

            Assert.AreEqual(true, checker.IsTwoPair(hand));
        }
コード例 #43
0
        public void IsTwoPairShouldReturnTrueWhenHandContainsTwoPairs()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Eight, CardSuit.Spades), new Card(CardFace.Eight, CardSuit.Clubs), new Card(CardFace.Three, CardSuit.Clubs) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            Assert.IsTrue(checker.IsTwoPair(hand));
        }