@Test
    public void testThreeOfAKindVsThreeOfAKindWithGivenHandType() {
        FiveCardPokerHand threeOfAKind1 = new FiveCardPokerHand();
        assertTrue(threeOfAKind1.addCard(new Card(Suit.SPADE, Rank.THREE)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.CLUB, Rank.THREE)));
        assertTrue(threeOfAKind1.addCard(new Card(Suit.DIAMOND, Rank.THREE)));
        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.SPADE, Rank.THREE)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.CLUB, Rank.THREE)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.DIAMOND, Rank.THREE)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.DIAMOND, Rank.KING)));
        assertTrue(threeOfAKind2.addCard(new Card(Suit.SPADE, Rank.ACE)));

        SameHandTypeComparator newComparator = new SameHandTypeComparator(PokerHandType.THREE_OF_A_KIND);

        assertTrue(newComparator.compare(threeOfAKind1, threeOfAKind2) > 0);
    }