@Test
    public void testThreeOfAKindVsThreeOfAKind() {
        FiveCardPokerHand threeOfAKind1 = new FiveCardPokerHand();
        assertTrue(threeOfAKind1.addCard(new Card(Suit.SPADE, Rank.ACE)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.CLUB, Rank.ACE)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.DIAMOND, Rank.ACE)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.DIAMOND, Rank.KING)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.SPADE, Rank.NINE)));

        FiveCardPokerHand threeOfAKind2 = new FiveCardPokerHand();
        assertTrue(threeOfAKind2.addCard(new Card(Suit.DIAMOND, Rank.QUEEN)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.SPADE, Rank.QUEEN)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.CLUB, Rank.QUEEN)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.DIAMOND, Rank.SEVEN)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.CLUB, Rank.EIGHT)));

        assertTrue("Hand " + threeOfAKind1 + " doesn't beat hand " + threeOfAKind2, 
                comparator.compare(threeOfAKind1, threeOfAKind2) < 0);
    }