public void GetHandDescription_WithRoyalFlush_ReturnsCorrectDescription()
        {
            Deck deck = new Deck();
            Card[] holeCards =
                new []
                    {
                        deck.Find(SuitName.Heart, ValueName.Ace),
                        deck.Find(SuitName.Heart, ValueName.King)
                    };

            Card[] boardCards =
                new[]
                    {
                        deck.Find(SuitName.Heart, ValueName.Queen),
                        deck.Find(SuitName.Heart, ValueName.Jack),
                        deck.Find(SuitName.Heart, ValueName.Ten),
                        deck.Find(SuitName.Club, ValueName.Two),
                        deck.Find(SuitName.Spade, ValueName.Five)
                    };

            HandEvaluatorWrapper handEvaluator = new HandEvaluatorWrapper();
            string handDescription = handEvaluator.GetHandDescription(holeCards, boardCards);
            Assert.IsFalse(string.IsNullOrEmpty(handDescription));
            Assert.AreEqual("Straight Flush (Hearts) with Ace high", handDescription);
        }
        public void EvaluateHandValue_ReturnsUintValue()
        {
            Game game = new Game();
            Dealer dealer = new Dealer(game, new Deck());
            PokerPlayer rob = new PokerPlayer("RobA2345");

            dealer.ShuffleDeck();

            dealer.Deal(rob);
            dealer.Deal(rob);

            dealer.DealFlop(game);
            dealer.DealTurn(game);
            dealer.DealRiver(game);

            HandEvaluatorWrapper handEvaluator = new HandEvaluatorWrapper();
            uint handValue = handEvaluator.EvaluateHandValue(rob.ShowHand(), game.CommunityCards);
            Assert.IsTrue(handValue > 0);
        }