@Test
    public void testStraightVsStraightWithGivenHandType() {
        FiveCardPokerHand straight1 = new FiveCardPokerHand();
        assertTrue(straight1.addCard(new Card(Suit.SPADE, Rank.ACE)));
        assertTrue(straight1.addCard(new Card(Suit.CLUB, Rank.FIVE)));
        assertTrue(straight1.addCard(new Card(Suit.SPADE, Rank.FOUR)));
        assertTrue(straight1.addCard(new Card(Suit.DIAMOND, Rank.DEUCE)));
        assertTrue(straight1.addCard(new Card(Suit.SPADE, Rank.THREE)));

        FiveCardPokerHand straight2 = new FiveCardPokerHand();
        assertTrue(straight2.addCard(new Card(Suit.DIAMOND, Rank.SIX)));
        assertTrue(straight2.addCard(new Card(Suit.SPADE, Rank.SEVEN)));
        assertTrue(straight2.addCard(new Card(Suit.CLUB, Rank.TEN)));
        assertTrue(straight2.addCard(new Card(Suit.DIAMOND, Rank.NINE)));
        assertTrue(straight2.addCard(new Card(Suit.CLUB, Rank.EIGHT)));
        
        SameHandTypeComparator newComparator = new SameHandTypeComparator(PokerHandType.STRAIGHT);
        
        assertTrue(newComparator.compare(straight1, straight2) > 0);
    }