public void Round_EvaluateWinner_FourOfAKindWinsAgainstPair()
        {
            // Arrange
            Player expectedWinner = new Player("Michael Jordan");

            unitUnderTest.JoinGame(expectedWinner);

            Player expectedLoser = new Player("Karl Malone");

            unitUnderTest.JoinGame(expectedLoser);

            unitUnderTest.StartNewRound();

            // Arrange place expected winner's cards back into deck for later arrangement
            foreach (var card in expectedWinner.Hand)
            {
                unitUnderTest.GetDeck().Cards.Add(card);
            }
            expectedWinner.Hand.Clear();

            // Arrange place expected loser's cards back into deck for later arrangement
            foreach (var card in expectedLoser.Hand)
            {
                unitUnderTest.GetDeck().Cards.Add(card);
            }
            expectedLoser.Hand.Clear();

            expectedWinner.Fold(unitUnderTest.GetDeck());
            expectedLoser.Fold(unitUnderTest.GetDeck());

            // Arrange to force specific cards into players hands
            expectedWinner.GetCard(unitUnderTest.GetDeck(), Suit.Diamond, Rank.Six);
            expectedWinner.GetCard(unitUnderTest.GetDeck(), Suit.Spade, Rank.Six);

            expectedLoser.GetCard(unitUnderTest.GetDeck(), Suit.Heart, Rank.Two);
            expectedLoser.GetCard(unitUnderTest.GetDeck(), Suit.Club, Rank.Two);

            int index = 0;

            // Arrange flop burn card
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Ace && card.Suit == Suit.Club), index++);
            // Arrange flop cards
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Six), index++);
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Six), index++);
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Eight && card.Suit == Suit.Spade), index++);

            // Arrange river burn card
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Jack && card.Suit == Suit.Spade), index++);
            // Arrange river card
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.Three && card.Suit == Suit.Club), index++);

            // Arrange turn burn card
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.King && card.Suit == Suit.Diamond), index++);
            // Arrange turn card
            unitUnderTest.GetDeck().Cards.MoveItemToIndex(unitUnderTest.GetDeck().Cards.Find(card => card.Rank == Rank.King && card.Suit == Suit.Spade), index++);

            // Arrange shown cards
            unitUnderTest.PerformFlop();
            unitUnderTest.PerformRiver();
            unitUnderTest.PerformTurn();

            // Act
            unitUnderTest.CalculateWinners();

            // Assert
            Assert.IsTrue(unitUnderTest.GetCurrentRound().Winners.Exists(w => w == expectedWinner));
            Assert.IsFalse(unitUnderTest.GetCurrentRound().Winners.Exists(w => w == expectedLoser));
        }