public void CanGetHighCard() { var hand = new Hand(); hand.Draw(new Card(CardValue.Seven, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Clubs)); hand.Draw(new Card(CardValue.Five, CardSuit.Hearts)); hand.Draw(new Card(CardValue.King, CardSuit.Hearts)); hand.Draw(new Card(CardValue.Two, CardSuit.Hearts)); FiveCardPokerScorer.HighCard(hand.Cards).Value.Should().Be(CardValue.King); }
public void CanScoreFourOfAKind() { var hand = new Hand(); hand.Draw(new Card(CardValue.Ten, CardSuit.Clubs)); hand.Draw(new Card(CardValue.Jack, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Hearts)); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.FourOfAKind); }
public void CanScoreRoyalFlush() { var hand = new Hand(); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); hand.Draw(new Card(CardValue.Jack, CardSuit.Spades)); hand.Draw(new Card(CardValue.Queen, CardSuit.Spades)); hand.Draw(new Card(CardValue.King, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ace, CardSuit.Spades)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.RoyalFlush); }
public void CanScoreFlush() { var hand = new Hand(); hand.Draw(new Card(CardValue.Two, CardSuit.Spades)); hand.Draw(new Card(CardValue.Three, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ace, CardSuit.Spades)); hand.Draw(new Card(CardValue.Five, CardSuit.Spades)); hand.Draw(new Card(CardValue.Six, CardSuit.Spades)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.Flush); }
public void CanScoreTwoPair() { var hand = new Hand(); hand.Draw(new Card(CardValue.Ace, CardSuit.Clubs)); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); hand.Draw(new Card(CardValue.Nine, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Hearts)); hand.Draw(new Card(CardValue.Ace, CardSuit.Spades)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.TwoPair); }
public void CanScoreStraightUnordered() { var hand = new Hand(); hand.Draw(new Card(CardValue.Ace, CardSuit.Spades)); hand.Draw(new Card(CardValue.Queen, CardSuit.Clubs)); hand.Draw(new Card(CardValue.Jack, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); hand.Draw(new Card(CardValue.King, CardSuit.Hearts)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.Straight); }
public void CanScoreHighCard() { Hand hand = new Hand(); hand.Draw(new Card(CardValue.Seven, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Clubs)); hand.Draw(new Card(CardValue.Five, CardSuit.Hearts)); hand.Draw(new Card(CardValue.King, CardSuit.Hearts)); hand.Draw(new Card(CardValue.Two, CardSuit.Hearts)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.HighCard); }
public void CanScoreStraightFlush() { Hand hand = new Hand(); hand.Draw(new Card(CardValue.Nine, CardSuit.Spades)); hand.Draw(new Card(CardValue.Queen, CardSuit.Spades)); hand.Draw(new Card(CardValue.Jack, CardSuit.Spades)); hand.Draw(new Card(CardValue.Ten, CardSuit.Spades)); hand.Draw(new Card(CardValue.King, CardSuit.Spades)); FiveCardPokerScorer.GetHandRank(hand.Cards).Should().Be(HandRank.StraightFlush); }