예제 #1
0
        public void IsFlush_HandHasFiveCardsOfTheSameSuitWhichAreSequential_ShouldReturnFalse()
        {
            var flushHand         = new HandTypePresetsFakeHand(HandType.IsStraightFlush);
            var pokerHandsChecker = new PokerHandsChecker();

            var actualResult = pokerHandsChecker.IsFlush(flushHand);

            Assert.IsFalse(actualResult);
        }
예제 #2
0
        public void IsThreeOfAKind_HandHasFourCardsOfTheSameFaceValue_ShouldReturnFalse()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsFourOfAKind);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsThreeOfAKind(hand);

            Assert.IsFalse(actualResult);
        }
예제 #3
0
        public void IsFlush_HandHasAtLeastOneCardOfADifferentSuitComparedToTheRest_ShouldReturnFalse()
        {
            var flushHand         = new HandTypePresetsFakeHand(HandType.IsHighCard);
            var pokerHandsChecker = new PokerHandsChecker();

            var actualResult = pokerHandsChecker.IsFlush(flushHand);

            Assert.IsFalse(actualResult);
        }
예제 #4
0
        public void IsThreeOfAKind_HandHasThreeCardsOfEqualFaceValueAndTwoCardsOfDifferentFaceValue_ShouldReturnTrue()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsThreeOfAKind);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsThreeOfAKind(hand);

            Assert.IsTrue(actualResult);
        }
예제 #5
0
        public void IsThreeOfAKind_HandHasThreeCardsOfEqualFaceValueAndTheOtherTwoFormAPair_ShouldReturnFalse()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsFullHouse);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsThreeOfAKind(hand);

            Assert.IsFalse(actualResult);
        }
예제 #6
0
        public void IsOnePair_HandHasTwoCardsWithEqualFaceValueAndTwoOfTheRemainingCardsFormASecondPair_ShouldReturnFalse()
        {
            var hand             = new HandTypePresetsFakeHand(HandType.IsTwoPair);
            var pokerHandChecker = new PokerHandsChecker();

            var actualResult = pokerHandChecker.IsOnePair(hand);

            Assert.IsFalse(actualResult);
        }
예제 #7
0
        public void IsFullHouse_HandsCointainsTwoPairs_ShouldReturnFalse()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsTwoPair);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsFullHouse(hand);

            Assert.IsFalse(actualResult);
        }
예제 #8
0
        public void IsFullHouse_HandsContainsOnePairAndThreeCardsOfDifferentFaceValues_ShouldReturnFalse()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsOnePair);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsFullHouse(hand);

            Assert.IsFalse(actualResult);
        }
예제 #9
0
        public void IsFullHouse_HandContainsAThreeOfAKindAndOnePairAtTheSameTime_ShouldReturnTrue()
        {
            var hand        = new HandTypePresetsFakeHand(HandType.IsFullHouse);
            var handChecker = new PokerHandsChecker();

            var actualResult = handChecker.IsFullHouse(hand);

            Assert.IsTrue(actualResult);
        }
예제 #10
0
        public void IsHighCard_HandContainsFullHouse_ShouldReturnFalse()
        {
            // Arrange
            var hand             = new HandTypePresetsFakeHand(HandType.IsFullHouse);
            var pokerHandChecker = new PokerHandsChecker();

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

            // Assert
            Assert.IsFalse(actualResult);
        }
예제 #11
0
        public void IsHighCard_HandIsNotAnythingElse_ShouldReturnTrue()
        {
            // Arrange
            var hand             = new HandTypePresetsFakeHand(HandType.IsHighCard);
            var pokerHandChecker = new PokerHandsChecker();

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

            // Assert
            Assert.IsTrue(actualResult);
        }
예제 #12
0
        public void IsFlush_HandHasFiveCardsOfTheSameSuitWhichAreNotSequential_ShouldReturnTrue()
        {
            // Assert
            var flushHand         = new HandTypePresetsFakeHand(HandType.IsFlush);
            var pokerHandsChekcer = new PokerHandsChecker();

            // Act
            var actualResult = pokerHandsChekcer.IsFlush(flushHand);

            // Assert
            Assert.IsTrue(actualResult);
        }
예제 #13
0
        public void IsOnePair_HandHasTwoCardsWithEqualFaceValueAndThreeKickers_ShouldReturnTrue()
        {
            // Arrange
            var hand             = new HandTypePresetsFakeHand(HandType.IsOnePair);
            var pokerHandChecker = new PokerHandsChecker();

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

            // Assert
            Assert.IsTrue(actualResult);
        }
예제 #14
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);
        }
예제 #15
0
        public void CompareHands_FirstHandAnyTypeButStraightFlushSecondHandStraightFlush_ShouldReturnMinusOne(IHand handWhichIsNotAStraightFlush)
        {
            // Arrange
            var firstHand   = handWhichIsNotAStraightFlush;
            var secondHand  = new HandTypePresetsFakeHand(HandType.IsStraightFlush);
            var handChecker = new PokerHandsChecker();

            // Act
            var expectedResult = -1;
            var actualResult   = handChecker.CompareHands(firstHand, secondHand);

            // Assert
            Assert.AreEqual(expectedResult, actualResult);
        }