示例#1
0
        public void GivenHandCardThenCheckIfTwoPair(string handCard, bool expectedResult)
        {
            var handCardFormatted = Common.ConvertCardStringToList(handCard);

            var isStraightFlush = new TwoPair().IsThisType(handCardFormatted);

            Assert.True(isStraightFlush == expectedResult);
        }
示例#2
0
文件: Test.cs 项目: PChiesa/Poker
        public void IsTwoPair()
        {
            _cardHand = new List <Card> {
                new Card(CardRank.Ace, CardSuit.Hearts),
                new Card(CardRank.Eight, CardSuit.Spades),
                new Card(CardRank.Eight, CardSuit.Clubs),
                new Card(CardRank.Two, CardSuit.Spades),
                new Card(CardRank.Two, CardSuit.Spades)
            };

            var hand = new TwoPair();

            Assert.IsTrue(hand.HasHand(_cardHand));
        }
示例#3
0
        private void AssertValue(int expected, int p1Value, int p2Value)
        {
            var input1 = new Mock <Pair>(1, 1);
            var input2 = new Mock <Pair>(2, 2);

            input1.Setup(pair => pair.GetValue()).Returns(p1Value);
            input2.Setup(pair => pair.GetValue()).Returns(p2Value);

            var sut = new TwoPair(input1.Object, input2.Object);

            var actual = sut.GetValue();

            Assert.Equal(expected, actual);
        }
        private string GetScore(IPokerHand hand)
        {
            var royalFlush = new RoyalFlush(hand);

            if (royalFlush.IsHighRank)
            {
                return(royalFlush.Title);
            }

            var straightFlush = new StraightFlush(hand);

            if (straightFlush.IsHighRank)
            {
                return(straightFlush.Title);
            }

            var fourOfAKind = new FourOfAKind(hand);

            if (fourOfAKind.IsHighRank)
            {
                return(fourOfAKind.Title);
            }

            var fullHouse = new FullHouse(hand);

            if (fullHouse.IsHighRank)
            {
                return(fullHouse.Title);
            }

            var flush = new Flush(hand);

            if (flush.IsHighRank)
            {
                return(flush.Title);
            }

            var straight = new Straight(hand);

            if (straight.IsHighRank)
            {
                return(straight.Title);
            }

            var threeOfAKind = new ThreeOfAKind(hand);

            if (threeOfAKind.IsHighRank)
            {
                return(threeOfAKind.Title);
            }

            var twoPair = new TwoPair(hand);

            if (twoPair.IsHighRank)
            {
                return(twoPair.Title);
            }

            var onePair = new OnePair(hand);

            if (onePair.IsHighRank)
            {
                return(onePair.Title);
            }

            return("High Card");
        }