public void GivenHandCardThenCheckIfTwoPair(string handCard, bool expectedResult) { var handCardFormatted = Common.ConvertCardStringToList(handCard); var isStraightFlush = new TwoPair().IsThisType(handCardFormatted); Assert.True(isStraightFlush == expectedResult); }
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)); }
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"); }