public void CalculatesHighCard()
        {
            var deck       = Card.Deck.ToList();
            var playerHand = Card.ConvertToHandOfCards(
                "2H AD KC JD 5S",
                ref deck
                ).ToList();
            var expectedResponse = new Hand
            {
                PlayedCards = playerHand.Where(card => card.Value == "A"),
                Score       = 14,
                Type        = Hand.Types.HighCard
            };

            var response = _calculator.BestHand(playerHand);

            response.Should().BeEquivalentTo(expectedResponse);
        }
        public void StoresTheBestHand()
        {
            var deck   = Card.Deck.ToList();
            var player = new Player {
                Hand = "2H 3D 9C KD 5S", Name = "Alice"
            };
            var calculator      = new HandCalculator();
            var outcomeDeck     = Card.Deck.ToList();
            var playedCards     = Card.ConvertToHandOfCards(player.Hand, ref outcomeDeck).ToList();
            var expectedOutcome = calculator.BestHand(playedCards);

            var playerHand = new PlayerHand(player, ref deck);

            playerHand.Best.Should().BeEquivalentTo(expectedOutcome);
        }