Пример #1
0
        public void ThreeOfAKindFound()
        {
            var checker = new ThreeOfAKindChecker();
            var value   = checker.HandValue(_hands[3]);

            value.Should().Be(3.140706m);
        }
Пример #2
0
        public void ThreeOfAKindTwoDeucesFound()
        {
            var checker = new ThreeOfAKindChecker();
            var value   = checker.HandValue(_hands[1]);

            value.Should().Be(3.120605m);
        }
Пример #3
0
        public void ThreeOfAKindOneDeuceFound()
        {
            var checker = new ThreeOfAKindChecker();
            var value   = checker.HandValue(_hands[2]);

            value.Should().Be(3.120505m);
        }
Пример #4
0
        public void ThreeOfAKindNotFound()
        {
            var checker = new ThreeOfAKindChecker();

            for (var i = 0; i < 9; i++)
            {
                if (i != 3 && i != 6 && i != 7)
                {
                    var value = checker.HandValue(_hands[i]);
                    value.Should().Be(0, _hands[i].Select(c => c.ToString()).Aggregate((a, b) => a + " " + b));
                }
            }
        }
Пример #5
0
        public void ThreeOfAKindNotFound()
        {
            var checker = new ThreeOfAKindChecker();

            for (var i = 0; i < _hands.Count; i++)
            {
                if (!new[] { 1, 2, 3, 6, 7, 13, 14, 15, 16 }.Contains(i))
                {
                    var value = checker.HandValue(_hands[i]);
                    value.Should().Be(0, _hands[i].Select(c => c.ToString()).Aggregate((a, b) => a + " " + b));
                }
            }
        }
        public static PokerCombinationChecker GetChecker()
        {
            var highCard = new HighCardChecker();
            var onePair  = new OnePairChecker()
                           .SuccessiveHand(highCard);
            var twoPair = new TwoPairChecker()
                          .SuccessiveHand(onePair);
            var threeOfAKind = new ThreeOfAKindChecker()
                               .SuccessiveHand(twoPair);
            var straight = new StraightChecker()
                           .SuccessiveHand(threeOfAKind);
            var flush = new FlushChecker()
                        .SuccessiveHand(straight);
            var fullHouse = new FullHouseChecker()
                            .SuccessiveHand(flush);
            var fourOfAKind = new FourOfAKindChecker()
                              .SuccessiveHand(fullHouse);
            var straightFlush = new StraightFlushChecker()
                                .SuccessiveHand(fourOfAKind);

            return(straightFlush);
        }
Пример #7
0
        static PokerCombinationChecker GetChecker()
        {
            var highCard = new HighCardChecker();
            var onePair = new OnePairChecker()
                .SuccessiveHand(highCard);
            var twoPair = new TwoPairChecker()
                .SuccessiveHand(onePair);
            var threeOfAKind = new ThreeOfAKindChecker()
                .SuccessiveHand(twoPair);
            var straight = new StraightChecker()
                .SuccessiveHand(threeOfAKind);
            var flush = new FlushChecker()
                .SuccessiveHand(straight);
            var fullHouse = new FullHouseChecker()
                .SuccessiveHand(flush);
            var fourOfAKind = new FourOfAKindChecker()
                .SuccessiveHand(fullHouse);
            var straightFlush = new StraightFlushChecker()
                .SuccessiveHand(fourOfAKind);

            return straightFlush;
        }