Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 /// <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);
 }