@Test
    public void testTwoPairVsTwoPairWithGivenHandType() {
        FiveCardPokerHand twoPair1 = new FiveCardPokerHand();
        assertTrue(twoPair1.addCard(new Card(Suit.SPADE, Rank.JACK)));
        assertTrue(twoPair1.addCard(new Card(Suit.HEART, Rank.QUEEN)));
        assertTrue(twoPair1.addCard(new Card(Suit.HEART, Rank.KING)));
        assertTrue(twoPair1.addCard(new Card(Suit.DIAMOND, Rank.KING)));
        assertTrue(twoPair1.addCard(new Card(Suit.SPADE, Rank.QUEEN)));

        FiveCardPokerHand twoPair2 = new FiveCardPokerHand();
        assertTrue(twoPair2.addCard(new Card(Suit.DIAMOND, Rank.ACE)));
        assertTrue(twoPair2.addCard(new Card(Suit.SPADE, Rank.KING)));
        assertTrue(twoPair2.addCard(new Card(Suit.CLUB, Rank.KING)));
        assertTrue(twoPair2.addCard(new Card(Suit.DIAMOND, Rank.QUEEN)));
        assertTrue(twoPair2.addCard(new Card(Suit.CLUB, Rank.QUEEN)));

        SameHandTypeComparator newComparator = new SameHandTypeComparator(PokerHandType.TWO_PAIR);
        
        assertTrue(newComparator.compare(twoPair1, twoPair2) > 0);
    }