public void HighCard_EvaluateWinnersCount() { var players = new List <PokerPlayer>() { new PokerPlayer() { Name = "Marvz", Hand = new Hand() { Cards = new Cards { new Card(Rank.Two, Suit.Clubs), new Card(Rank.King, Suit.Spades), new Card(Rank.Five, Suit.Diamonds), new Card(Rank.Jack, Suit.Clubs), new Card(Rank.Ace, Suit.Hearts) } } }, new PokerPlayer() { Name = "Keng", Hand = new Hand() { Cards = new Cards { new Card(Rank.Three, Suit.Hearts), new Card(Rank.King, Suit.Clubs), new Card(Rank.Five, Suit.Spades), new Card(Rank.Jack, Suit.Diamonds), new Card(Rank.Ace, Suit.Clubs) } } }, new PokerPlayer() { Name = "Des", Hand = new Hand() { Cards = new Cards { new Card(Rank.Three, Suit.Diamonds), new Card(Rank.King, Suit.Hearts), new Card(Rank.Five, Suit.Clubs), new Card(Rank.Jack, Suit.Spades), new Card(Rank.Ace, Suit.Diamonds) } } } }; foreach (var player in players) { player.Hand.EvaluateHandType(); } var winners = HandHelper.EvaluateWinners(players, HandCategory.HighCard); Assert.AreEqual(2, winners.Count); }
public void StraightFlush_EvaluateWinnersCount() { var players = new List <PokerPlayer>() { new PokerPlayer() { Name = "Marvz", Hand = new Hand() { Cards = new Cards { new Card(Rank.Eight, Suit.Clubs), new Card(Rank.Nine, Suit.Clubs), new Card(Rank.Queen, Suit.Clubs), new Card(Rank.Jack, Suit.Clubs), new Card(Rank.Ten, Suit.Clubs) } } }, new PokerPlayer() { Name = "Keng", Hand = new Hand() { Cards = new Cards { new Card(Rank.Nine, Suit.Hearts), new Card(Rank.King, Suit.Hearts), new Card(Rank.Queen, Suit.Hearts), new Card(Rank.Jack, Suit.Hearts), new Card(Rank.Ten, Suit.Hearts) } } }, new PokerPlayer() { Name = "Des", Hand = new Hand() { Cards = new Cards { new Card(Rank.Nine, Suit.Diamonds), new Card(Rank.King, Suit.Diamonds), new Card(Rank.Queen, Suit.Diamonds), new Card(Rank.Jack, Suit.Diamonds), new Card(Rank.Ten, Suit.Diamonds) } } } }; foreach (var player in players) { player.Hand.EvaluateHandType(); } var winners = HandHelper.EvaluateWinners(players, HandCategory.StraightFlush); Assert.AreEqual(2, winners.Count); }
/// <summary> /// Evaluate winner based on hand category /// </summary> private void EvaluateWinners() { this._winningHandCategory = HandHelper.GetWinningHandCategory(this._players); this._winners = HandHelper.EvaluateWinners(this._players, this._winningHandCategory); }