コード例 #1
0
        public void IsStraightShouldReturnFalseIfCardsMakeStraightFlush()
        {
            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.IsStraight(hand));
        }
コード例 #2
0
        public void IsStraightShouldReturnFalseIfCardsAreTheSameSuit()
        {
            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.IsStraight(hand));
        }
コード例 #3
0
        public void IsStraightShouldReturnFalseIfCardsMakeOnePair()
        {
            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.IsStraight(hand));
        }
コード例 #4
0
        public void IsStraightShouldReturnFalseIfCardsMakeFullHouse()
        {
            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.IsStraight(hand));
        }
コード例 #5
0
ファイル: TestIsStraight.cs プロジェクト: PetarPenev/Telerik
        public void TestOneShortOfStraight()
        {
            List<ICard> cards = new List<ICard>();
            cards.Add(new Card(CardFace.Five, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Six, CardSuit.Spades));
            cards.Add(new Card(CardFace.Seven, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Eight, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Three, CardSuit.Spades));
            Hand hand = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsStraight(hand));
        }
コード例 #6
0
ファイル: TestIsStraight.cs プロジェクト: PetarPenev/Telerik
        public void TestStraightTwoSuits()
        {
            List<ICard> cards = new List<ICard>();
            cards.Add(new Card(CardFace.Five, CardSuit.Spades));
            cards.Add(new Card(CardFace.Six, CardSuit.Spades));
            cards.Add(new Card(CardFace.Seven, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Eight, CardSuit.Spades));
            cards.Add(new Card(CardFace.Nine, CardSuit.Spades));
            Hand hand = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsTrue(checker.IsStraight(hand));
        }
コード例 #7
0
ファイル: TestIsStraight.cs プロジェクト: PetarPenev/Telerik
        public void TestInvalidHand()
        {
            List<ICard> cards = new List<ICard>();
            cards.Add(new Card(CardFace.King, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.King, CardSuit.Spades));
            cards.Add(new Card(CardFace.King, CardSuit.Hearts));
            cards.Add(new Card(CardFace.King, CardSuit.Clubs));
            cards.Add(new Card(CardFace.King, CardSuit.Clubs));
            Hand hand = new Hand(cards);
            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsStraight(hand));
        }
        public void IsStraightShouldReturnFalseWhenNotMatchingHandPassed_StraightFlush()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Four, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.Eight, CardSuit.Diamonds)
            };
            var hand = new Hand(cards);

            Assert.IsFalse(checker.IsStraight(hand));
        }
        public void IsStraightShouldReturnTrue_FourToEight()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Four, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Six, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Hearts),
                new Card(CardFace.Eight, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsStraight(hand));
        }
        public void IsStraightShouldReturnTrue_AceToFive()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Three, CardSuit.Spades),
                new Card(CardFace.Four, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsStraight(hand));
        }
        public void IsStraightShouldReturnTrue_JackToAce()
        {
            var checker = new PokerHandsChecker();
            var cards   = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Hearts),
                new Card(CardFace.Ten, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsStraight(hand));
        }
コード例 #12
0
        public void TestIsStraightOfNotSequalCards()
        {
            List <ICard> cards = new List <ICard>()
            {
                new Card(CardFace.Ten, CardSuit.Clubs),
                new Card(CardFace.Jack, CardSuit.Clubs),
                new Card(CardFace.Seven, CardSuit.Clubs),
                new Card(CardFace.King, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Clubs)
            };
            Hand hand = new Hand(cards);
            PokerHandsChecker handChecker = new PokerHandsChecker();
            bool isStraight = handChecker.IsStraight(hand);

            Assert.IsFalse(isStraight);
        }
コード例 #13
0
        public void IsStraight_Straight_ReturnsTrue()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Clubs),
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Nine, CardSuit.Clubs),
            });

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

            Assert.True(check);
        }
コード例 #14
0
        public void TestIsStraightLessCards()
        {
            Card          cardOne   = new Card(CardFace.Two, CardSuit.Diamonds);
            Card          cardTwo   = new Card(CardFace.Four, CardSuit.Hearts);
            Card          cardThree = new Card(CardFace.Three, 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 isStraight         = poker.IsStraight(hand);

            Assert.AreEqual(false, isStraight, "IsStraight() method in class PokerHandsChecker is not working correctly.");
        }
コード例 #15
0
        public void IsStraightTest()
        {
            Card ten   = new Card(CardFace.Ten, CardSuit.Clubs);
            Card jack  = new Card(CardFace.Jack, CardSuit.Hearts);
            Card queen = new Card(CardFace.Queen, CardSuit.Spades);
            Card king  = new Card(CardFace.King, CardSuit.Clubs);
            Card ace   = new Card(CardFace.Ace, CardSuit.Diamonds);
            Hand hand  = new Hand(new List <ICard>()
            {
                ten, jack, queen, king, ace
            });
            IPokerHandsChecker checker = new PokerHandsChecker();
            bool result = checker.IsStraight(hand);

            Assert.AreEqual(true, result);
        }
コード例 #16
0
        public void IsStraightFalseTest()
        {
            Card ten  = new Card(CardFace.Ten, CardSuit.Clubs);
            Card jack = new Card(CardFace.Jack, CardSuit.Diamonds);
            Card two  = new Card(CardFace.Two, CardSuit.Clubs);
            Card king = new Card(CardFace.King, CardSuit.Clubs);
            Card ace  = new Card(CardFace.Ace, CardSuit.Clubs);
            Hand hand = new Hand(new List <ICard>()
            {
                ten, jack, two, king, ace
            });
            IPokerHandsChecker checker = new PokerHandsChecker();
            bool result = checker.IsStraight(hand);

            Assert.AreEqual(false, result);
        }
コード例 #17
0
        public void TestIsStraight()
        {
            List <ICard> cards = new List <ICard>()
            {
                new Card(CardFace.Ten, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Clubs),
                new Card(CardFace.Ace, CardSuit.Hearts)
            };
            Hand hand = new Hand(cards);
            PokerHandsChecker handChecker = new PokerHandsChecker();
            bool isStraight = handChecker.IsStraight(hand);

            Assert.IsTrue(isStraight);
        }
コード例 #18
0
        public void IsStraight_OneCardMissingForStraight()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Two,CardSuit.Diamonds),
                new Card(CardFace.Three,CardSuit.Spades),
                new Card(CardFace.Four,CardSuit.Hearts),
                new Card(CardFace.Eight,CardSuit.Clubs),
                new Card(CardFace.Six,CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsFalse(result);
        }
コード例 #19
0
        public void IsStraight_FromSevenToJackShuffled()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Queen,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Spades),
                new Card(CardFace.Jack,CardSuit.Hearts),
                new Card(CardFace.Nine,CardSuit.Clubs),
                new Card(CardFace.Ten,CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

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

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsFalse(result);
        }
コード例 #21
0
        public void IsStraight_FromSevenToJackShuffled()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Hearts),
                new Card(CardFace.Nine, CardSuit.Clubs),
                new Card(CardFace.Ten, CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsTrue(result);
        }
コード例 #22
0
        public void IsStraight_WithStraightFlushCards()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Ten, CardSuit.Diamonds),
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Diamonds),
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsFalse(result);
        }
コード例 #23
0
        public void IsStraight_HandWithStraightFlush()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Diamonds),
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Ten, CardSuit.Diamonds),
            };

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsStraight(hand));
        }
コード例 #24
0
        public void IsStraight_HandWithFullStraightTheWheel()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Three, CardSuit.Diamonds),
                new Card(CardFace.Four, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Diamonds),
            };

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsStraight(hand));
        }
コード例 #25
0
        public void IsStraight_HandWithTwoPairs()
        {
            IList <ICard> cards = new List <ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Hearts),
                new Card(CardFace.Eight, CardSuit.Clubs),
                new Card(CardFace.Six, CardSuit.Hearts),
                new Card(CardFace.Six, CardSuit.Spades),
            };

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            Assert.IsFalse(checker.IsStraight(hand));
        }
コード例 #26
0
        public void IsStraight_OneCardMissingForStraight()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Three, CardSuit.Spades),
                new Card(CardFace.Four, CardSuit.Hearts),
                new Card(CardFace.Eight, CardSuit.Clubs),
                new Card(CardFace.Six, CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

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

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

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

            cards.Add(new Card(CardFace.Ace, CardSuit.Hearts));
            cards.Add(new Card(CardFace.King, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Queen, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Jack, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Ten, CardSuit.Spades));
            IHand hand     = new Hand(cards);
            bool  expected = true;
            bool  actual;

            actual = target.IsStraight(hand);
            Assert.AreEqual(expected, actual);
        }
コード例 #29
0
        public void IsStraight_ProperStraightNotShuffled()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Two,CardSuit.Diamonds),
                new Card(CardFace.Three,CardSuit.Spades),
                new Card(CardFace.Four,CardSuit.Hearts),
                new Card(CardFace.Five,CardSuit.Clubs),
                new Card(CardFace.Six,CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

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

            cards.Add(new Card(CardFace.Five, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Four, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Three, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Two, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Ace, CardSuit.Hearts));
            IHand hand     = new Hand(cards);
            bool  expected = true;
            bool  actual;

            actual = target.IsStraight(hand);
            Assert.AreEqual(expected, actual);
        }
コード例 #31
0
        public void IsNotStraightTest3()
        {
            PokerHandsChecker target = new PokerHandsChecker();
            IList <ICard>     cards  = new List <ICard>();

            cards.Add(new Card(CardFace.Jack, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Ten, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Nine, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Eight, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Seven, CardSuit.Hearts));
            IHand hand     = new Hand(cards);
            bool  expected = false;
            bool  actual;

            actual = target.IsStraight(hand);
            Assert.AreEqual(expected, actual);
        }
コード例 #32
0
        public void IsStraight_ProperStraightNotShuffled()
        {
            var hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Three, CardSuit.Spades),
                new Card(CardFace.Four, CardSuit.Hearts),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Six, CardSuit.Hearts)
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsTrue(result);
        }
コード例 #33
0
        public void IsStraightTestNotValidHand()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

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

            bool expectedIsStraight = false;
            bool actual;

            actual = checker.IsStraight(hand);
            Assert.AreEqual(expectedIsStraight, actual);
        }
コード例 #34
0
        public void FullHouseWithAcesAndTwos()
        {
            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.Ace, CardSuit.Spades));
            cards.Add(new Card(CardFace.Two, CardSuit.Diamonds));

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

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

            Assert.AreEqual(expected, result);
        }
コード例 #35
0
        public void IsStraightTestValidHandFromSevenToJack()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Eight, CardSuit.Clubs),
                new Card(CardFace.Seven, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Spades),
                new Card(CardFace.Nine, CardSuit.Diamonds),
                new Card(CardFace.Ten, CardSuit.Spades)
            });

            bool expectedIsStraight = true;
            bool actual;

            actual = checker.IsStraight(hand);
            Assert.AreEqual(expectedIsStraight, actual);
        }
コード例 #36
0
        public void NotStraightA2457()
        {
            IList <ICard> cards = new List <ICard>();

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

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

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

            Assert.AreEqual(expected, result);
        }
コード例 #37
0
        public void StraightWithAceAsMax()
        {
            IList <ICard> cards = new List <ICard>();

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

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            bool result   = checker.IsStraight(hand);
            bool expected = true;

            Assert.AreEqual(expected, result);
        }
コード例 #38
0
        public void StraightWithTwoAsMin()
        {
            IList <ICard> cards = new List <ICard>();

            cards.Add(new Card(CardFace.Two, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Three, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Four, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Five, CardSuit.Spades));
            cards.Add(new Card(CardFace.Six, CardSuit.Clubs));

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

            bool result   = checker.IsStraight(hand);
            bool expected = true;

            Assert.AreEqual(expected, result);
        }
コード例 #39
0
        public void FourSequence()
        {
            IList <ICard> cards = new List <ICard>();

            cards.Add(new Card(CardFace.Seven, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Eight, CardSuit.Clubs));
            cards.Add(new Card(CardFace.Nine, CardSuit.Diamonds));
            cards.Add(new Card(CardFace.Ten, CardSuit.Hearts));
            cards.Add(new Card(CardFace.Queen, CardSuit.Spades));

            Hand hand = new Hand(cards);

            PokerHandsChecker checker = new PokerHandsChecker();

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

            Assert.AreEqual(expected, result);
        }
コード例 #40
0
        public void IsNotStraightTestValidHandFromThreeToEight()
        {
            PokerHandsChecker checker = new PokerHandsChecker();

            Hand hand = new Hand(new List <ICard>()
            {
                new Card(CardFace.Four, CardSuit.Clubs),
                new Card(CardFace.Six, CardSuit.Spades),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Eight, CardSuit.Diamonds),
                new Card(CardFace.Three, CardSuit.Spades)
            });

            bool expectedIsStraight = false;
            bool actual;

            actual = checker.IsStraight(hand);
            Assert.AreEqual(expectedIsStraight, actual);
        }
コード例 #41
0
        public void TestIsStraightNotArangedCards()
        {
            Card          cardOne   = new Card(CardFace.Ten, CardSuit.Diamonds);
            Card          cardTwo   = new Card(CardFace.Queen, CardSuit.Hearts);
            Card          cardThree = new Card(CardFace.Ace, CardSuit.Spades);
            Card          cardFour  = new Card(CardFace.Jack, CardSuit.Clubs);
            Card          cardFive  = new Card(CardFace.King, CardSuit.Clubs);
            IList <ICard> cards     = new List <ICard>();

            cards.Add(cardOne);
            cards.Add(cardTwo);
            cards.Add(cardThree);
            cards.Add(cardFour);
            cards.Add(cardFive);
            Hand hand = new Hand(cards);
            PokerHandsChecker poker = new PokerHandsChecker();
            bool isStraight         = poker.IsStraight(hand);

            Assert.AreEqual(true, isStraight, "IsStraight() method in class PokerHandsChecker is not working correctly.");
        }
コード例 #42
0
        public void InvalidStraight()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Clubs),
                new Card(CardFace.Ten, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Four, CardSuit.Spades),
            });

            Assert.AreEqual(false, checker.IsStraight(hand));
        }
コード例 #43
0
        public void StraightFalseTest()
        {
            List<Card> cards = new List<Card>()
            {
                new Card(CardFace.Nine, CardSuit.Hearts),
                new Card(CardFace.Ten, CardSuit.Hearts),
                new Card(CardFace.Jack, CardSuit.Hearts),
                new Card(CardFace.Ace, CardSuit.Spades),
                new Card(CardFace.King, CardSuit.Hearts)
            };

            Hand hand = new Hand(cards.ToArray());
            PokerHandsChecker checker = new PokerHandsChecker();
            var excpected = false;
            var actual = checker.IsStraight(hand);
            Assert.AreEqual(excpected, actual);
        }
コード例 #44
0
        public void StraightAceLow()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Three, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Clubs),
                new Card(CardFace.Two, CardSuit.Diamonds),
                new Card(CardFace.Ace, CardSuit.Clubs),
                new Card(CardFace.Four, CardSuit.Spades),
            });

            Assert.AreEqual(true, checker.IsStraight(hand));
        }
コード例 #45
0
        public void Straight8ToQ()
        {
            PokerHandsChecker checker = new PokerHandsChecker();
            Hand hand = new Hand(new List<ICard>() {
                new Card(CardFace.Ten, CardSuit.Diamonds),
                new Card(CardFace.Eight, CardSuit.Clubs),
                new Card(CardFace.Jack, CardSuit.Diamonds),
                new Card(CardFace.Nine, CardSuit.Clubs),
                new Card(CardFace.Queen, CardSuit.Spades),
            });

            Assert.AreEqual(true, checker.IsStraight(hand));
        }
コード例 #46
0
        public void IsStraightShouldReturnFalseWhenNotMatchingHandPassed_StraightFlush()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Four, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Six, CardSuit.Diamonds),
                new Card(CardFace.Seven, CardSuit.Diamonds),
                new Card(CardFace.Eight, CardSuit.Diamonds)
            };
            var hand = new Hand(cards);

            Assert.IsFalse(checker.IsStraight(hand));
        }
コード例 #47
0
        public void IsStraight_WithStraightFlushCards()
        {
            var hand = new Hand(new List<ICard>()
            {
                new Card(CardFace.Ten,CardSuit.Diamonds),
                new Card(CardFace.Jack,CardSuit.Diamonds),
                new Card(CardFace.Queen,CardSuit.Diamonds),
                new Card(CardFace.King,CardSuit.Diamonds),
                new Card(CardFace.Ace,CardSuit.Diamonds),
            });

            var pokerChecker = new PokerHandsChecker();

            bool result = pokerChecker.IsStraight(hand);

            Assert.IsFalse(result);
        }
コード例 #48
0
        public void IsStraightShouldReturnTrue_FourToEight()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Four, CardSuit.Diamonds),
                new Card(CardFace.Five, CardSuit.Diamonds),
                new Card(CardFace.Six, CardSuit.Spades),
                new Card(CardFace.Seven, CardSuit.Hearts),
                new Card(CardFace.Eight, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

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

            Assert.IsTrue(checker.IsStraight(hand));
        }
コード例 #50
0
        public void IsStraightShouldReturnFalseWhendPassedThreeOfAKind()
        {
            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.IsStraight(hand));
        }
コード例 #51
0
        public void IsStraightShouldReturnTrue_JackToAce()
        {
            var checker = new PokerHandsChecker();
            var cards = new List<ICard>
            {
                new Card(CardFace.Ace, CardSuit.Diamonds),
                new Card(CardFace.King, CardSuit.Diamonds),
                new Card(CardFace.Queen, CardSuit.Spades),
                new Card(CardFace.Jack, CardSuit.Hearts),
                new Card(CardFace.Ten, CardSuit.Hearts)
            };
            var hand = new Hand(cards);

            Assert.IsTrue(checker.IsStraight(hand));
        }
コード例 #52
0
        public void IsStraightShouldReturnFalseWhenHandContainsTwoPairs()
        {
            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.IsFalse(checker.IsStraight(hand));
        }
コード例 #53
0
        public void IsStraightShouldThrowAnExceptionWhenAHandWithNullCardsIsPassed()
        {
            List<ICard> cards = null;
            var checker = new PokerHandsChecker();

            checker.IsStraight(new Hand(cards));
        }
コード例 #54
0
        public void IsStraightShouldThrowAnExceptionWhenAnInvalidHandWithTwoSameCardsIsPassed()
        {
            var cards = new List<ICard>() { new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.King, CardSuit.Clubs), new Card(CardFace.Two, CardSuit.Clubs), new Card(CardFace.King, CardSuit.Spades), new Card(CardFace.Ace, CardSuit.Spades) };
            var hand = new Hand(cards);
            var checker = new PokerHandsChecker();

            checker.IsStraight(hand);
        }
コード例 #55
0
        public void IsStraightShouldThrowAnExceptionWhenFiveOfAKindArePassed()
        {
            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.IsStraight(hand);
        }
コード例 #56
0
        public void IsStraightShouldThrowAnExceptionWhenANullHandIsPassed()
        {
            IHand hand = null;
            var checker = new PokerHandsChecker();

            checker.IsStraight(hand);
        }