public void testPerdedor3() { try { simularCarrera(carreras.get(0), new int[] {2, 1, 3}); simularCarrera(carreras.get(1), new int[] {1, 3, 2}); simularCarrera(carreras.get(2), new int[] {3, 1, 2}); simularCarrera(carreras.get(3), new int[] {1, 2, 3}); assertFalse(apuesta1.isAcertada()); } catch (TransicionInvalidaEstadoCarreraException e) { fail(e.getMessage()); e.printStackTrace(); } catch (ResultadosCarreraInvalidosException e) { fail(e.getMessage()); e.printStackTrace(); } catch (HipodromoException e) { e.printStackTrace(); fail(e.getMessage()); } }
public void testLiquidar() { try { simularCarrera(carreras.get(0), new int[] {1, 2, 3}); simularCarrera(carreras.get(1), new int[] {1, 2, 3}); simularCarrera(carreras.get(2), new int[] {1, 2, 3}); simularCarrera(carreras.get(3), new int[] {1, 2, 3}); } catch (TransicionInvalidaEstadoCarreraException e) { fail("Fall� la Simulaci�n de la carrera."); e.printStackTrace(); } catch (ResultadosCarreraInvalidosException e) { fail("Fall� la Simulaci�n de la carrera."); e.printStackTrace(); } catch (HipodromoException e) { e.printStackTrace(); fail(e.getMessage()); } try { BigDecimal valorACobrar = this.calcularValorACobrar(apuesta1); assertEquals( "El monto de la liquidaci�n es incorrecto.", valorACobrar.setScale(2, RoundingMode.CEILING), apuesta1.liquidar().setScale(2)); } catch (CarreraNoFinalizadaException e) { fail("La carrera no hab�a terminado cuando se intent� liquidar la apuesta."); e.printStackTrace(); } catch (ApuestaPerdidaException e) { fail("Se intent� liquidar una apuesta perdida."); e.printStackTrace(); } catch (TransicionInvalidaEstadoApuestaException e) { fail("Transici�n de estado inv�lida al querer liquidar la apuesta."); e.printStackTrace(); } catch (ApuestaVencidaException e) { fail("La apuesta estaba vencida cuando se la quizo liquidar."); e.printStackTrace(); } catch (HipodromoException e) { fail("Error al liquidar."); e.printStackTrace(); } try { BigDecimal valorACobrar = this.calcularValorACobrar(apuesta2); assertEquals( "El monto de la liquidaci�n es incorrecto.", valorACobrar.setScale(2, RoundingMode.CEILING), apuesta2.liquidar().setScale(2)); } catch (CarreraNoFinalizadaException e) { fail("La carrera no hab�a terminado cuando se intent� liquidar la apuesta."); e.printStackTrace(); } catch (ApuestaPerdidaException e) { assertTrue(true); // e.printStackTrace(); } catch (TransicionInvalidaEstadoApuestaException e) { fail("Transici�n de estado inv�lida al querer liquidar la apuesta."); e.printStackTrace(); } catch (ApuestaVencidaException e) { fail("La apuesta estaba vencida cuando se la quizo liquidar."); e.printStackTrace(); } catch (HipodromoException e) { } }