@Test
    public void testPerformSimulationFiveCardDraw() throws InterruptedException {
        // Hand 1 should always win
        AbstractStartingHand hand1 = new FiveCardDrawStartingHand();
        hand1.addCard(new Card(Suit.CLUB, Rank.THREE));
        hand1.addCard(new Card(Suit.SPADE, Rank.THREE));
        
        AbstractStartingHand hand2 = new FiveCardDrawStartingHand();      
        hand2.addCard(new Card(Suit.CLUB, Rank.ACE));
        hand2.addCard(new Card(Suit.SPADE, Rank.KING));
        
        int digits = 3;
        
        List<AbstractStartingHand> startingHands = new ArrayList<AbstractStartingHand>();
        startingHands.add(hand1);
        startingHands.add(hand2);  
        
        AbstractPokerHandSimulator simulator = new PokerHandSimulatorVersion2(startingHands, 10000);
        SimulationResult result = simulator.performSimulation(2);  
        
        // Checking that the results are sensible
        System.out.println("Hand 1 (3-3) EV: " + result.getEquityForHand(hand1, digits));
        System.out.println("Hand 2 (A-K) EV: " + result.getEquityForHand(hand2, digits));        
        
        assertTrue(result.getEquityForHand(hand1, digits) > 0.5);
        assertTrue(result.getEquityForHand(hand1, digits) < 0.8);   
        
        assertTrue(result.getEquityForHand(hand2, digits) > 0.2);
        assertTrue(result.getEquityForHand(hand2, digits) < 0.4);
        
        assertTrue(result.getWinPercentageForHand(hand1, digits) > 50);
        assertTrue(result.getWinPercentageForHand(hand1, digits) < 80);        
        assertTrue(result.getTiePercentageForHand(hand1, digits) < 5);
        assertTrue(result.getLossPercentageForHand(hand1, digits) > 20);
        assertTrue(result.getLossPercentageForHand(hand1, digits) < 50);     
        
        assertTrue(result.getWinPercentageForHand(hand2, digits) > 20);
        assertTrue(result.getWinPercentageForHand(hand2, digits) < 40);        
        assertTrue(result.getTiePercentageForHand(hand2, digits) < 5);
        assertTrue(result.getLossPercentageForHand(hand2, digits) > 60);
        assertTrue(result.getLossPercentageForHand(hand2, digits) < 80);           
    }