@Test
    public void testPerformSimulation2() {
        AbstractStartingHand hand1 = new TexasHoldemStartingHand(new Card(Suit.CLUB, Rank.ACE), new Card(Suit.SPADE, Rank.KING));
        AbstractStartingHand hand2 = new TexasHoldemStartingHand(new Card(Suit.HEART, Rank.SIX), new Card(Suit.HEART, Rank.SEVEN));
        
        int digits = 3;
        
        List<AbstractStartingHand> startingHands = new ArrayList<AbstractStartingHand>();
        startingHands.add(hand1);
        startingHands.add(hand2);
        
        // Creating a board that give the hands about equal winning chances
        List<Card> boardCards = new ArrayList<Card>();
        boardCards.add(new Card(Suit.HEART, Rank.KING));
        boardCards.add(new Card(Suit.DIAMOND, Rank.NINE));
        boardCards.add(new Card(Suit.HEART, Rank.EIGHT));
        
        AbstractPokerHandSimulator simulator = new PokerHandSimulatorVersion2(startingHands, boardCards, 10000);
        SimulationResult result = simulator.performSimulation();
        
        // Checking that the results are sensible
        System.out.println("Hand 1 (top pair) EV: " + result.getEquityForHand(hand1, digits));
        System.out.println("Hand 2 (open ended straight + flush draw) EV: " + result.getEquityForHand(hand2, digits));
        
        assertTrue(result.getEquityForHand(hand1, digits) > 0.4);
        assertTrue(result.getEquityForHand(hand1, digits) < 0.6);   
        
        assertTrue(result.getEquityForHand(hand2, digits) > 0.4);
        assertTrue(result.getEquityForHand(hand2, digits) < 0.6);
        
        assertTrue(result.getWinPercentageForHand(hand1, digits) > 40);
        assertTrue(result.getWinPercentageForHand(hand1, digits) < 60);        
        assertTrue(result.getTiePercentageForHand(hand1, digits) < 5);
        assertTrue(result.getLossPercentageForHand(hand1, digits) > 40);
        assertTrue(result.getLossPercentageForHand(hand1, digits) < 60);     
        
        assertTrue(result.getWinPercentageForHand(hand2, digits) > 40);
        assertTrue(result.getWinPercentageForHand(hand2, digits) < 60);        
        assertTrue(result.getTiePercentageForHand(hand2, digits) < 5);
        assertTrue(result.getLossPercentageForHand(hand2, digits) > 40);
        assertTrue(result.getLossPercentageForHand(hand2, digits) < 60);           
    }