@Test public void testRace() { String player1Name = "Eric"; String player2Name = "John"; when(player1.getName()).thenReturn(player1Name); when(player2.getName()).thenReturn(player2Name); iVehicle vehicle1 = mock(iVehicle.class); iVehicle vehicle2 = mock(iVehicle.class); when(vehicle1.getQuarterMileTime()).thenReturn(1.0); when(vehicle2.getQuarterMileTime()).thenReturn(2.0); String vehicle1Name = "Yellow Ford Transit"; String vehicle2Name = "Blue Ford Focus"; when(vehicle1.toString()).thenReturn(vehicle1Name); when(vehicle2.toString()).thenReturn(vehicle2Name); when(player1.getVehicle()).thenReturn(vehicle1); when(player2.getVehicle()).thenReturn(vehicle2); assertEquals( bet.race(), String.format( "%s in a %s beats %s in a %s", player1Name, vehicle1Name, player2Name, vehicle2Name)); when(vehicle1.getQuarterMileTime()).thenReturn(3.0); assertEquals( bet.race(), String.format( "%s in a %s loses to %s in a %s", player1Name, vehicle1Name, player2Name, vehicle2Name)); /* if ( player1.getVehicle().getQuarterMileTime() < player2.getVehicle().getQuarterMileTime() ) { player1.addCash(wager); player2.addCash(wager * -1 ); return player1.getName() + " in a " + player1.getVehicle().toString() + " beats " + player2.getName() + " in a " + player2.getVehicle().toString(); } else { player1.addCash(wager * -1); player2.addCash(wager); return player1.getName() + " in a " + player1.getVehicle().toString() + " loses to " + player2.getName() + " in a " + player2.getVehicle().toString(); } */ }