protected void setUp() throws Exception {
    carreras = new LinkedList<Carrera>();
    for (int j = 0; j < CANTIDAD_CARRERAS; j++) {
      Carrera carrera = new Carrera(new ReglamentoValeTodo());
      for (int i = 0; i < CANTIDAD_PARTICIPANTES; i++) {

        Participante participante = new Participante(new Caballo(), new Jockey(), carrera);
        carrera.addParticipante(participante);
      }
      carreras.add(carrera);
    }

    LinkedList<Participante> participantesApostados = new LinkedList<Participante>();
    participantesApostados.addLast(carreras.get(0).getParticipantes().get(0));
    participantesApostados.addLast(carreras.get(1).getParticipantes().get(0));
    participantesApostados.addLast(carreras.get(2).getParticipantes().get(0));
    participantesApostados.addLast(carreras.get(3).getParticipantes().get(0));

    apuesta1 =
        ApuestaFactory.getInstance()
            .crear(ApuestaCuaterna.class, participantesApostados, MONTO_APUESTA);

    participantesApostados = new LinkedList<Participante>();
    participantesApostados.addLast(carreras.get(0).getParticipantes().get(0));
    participantesApostados.addLast(carreras.get(1).getParticipantes().get(2));
    participantesApostados.addLast(carreras.get(2).getParticipantes().get(0));
    participantesApostados.addLast(carreras.get(3).getParticipantes().get(1));
    apuesta2 =
        ApuestaFactory.getInstance()
            .crear(ApuestaCuaterna.class, participantesApostados, MONTO_APUESTA);
  }
  public void testCantidadParticipantesInvalidaException() {

    List<Participante> participantes = new LinkedList<Participante>();
    Participante participante = new Participante(new Caballo(), new Jockey(), carreras.get(0));
    participantes.add(participante);

    try {
      ApuestaFactory.getInstance().crear(ApuestaCuaterna.class, participantes, new BigDecimal(10));
      fail("El m�todo deber�a haber lanzado la excepci�n CantidadParticipantesInvalidaException");
    } catch (CantidadParticipantesInvalidaException e) {
    } catch (CarreraCerradaAApuestasException e) {
      fail("Esta excepci�n no se deber�a haber lanzado");
    } catch (ParticipantesEnDistintasCarrerasException e) {
      fail("Esta excepci�n no se deber�a haber lanzado");
    } catch (ImposibleFabricarApuestaException e) {
      fail("Esta excepci�n no se deber�a haber lanzado");
    } catch (TipoApuestaInvalidoException e) {
      fail("Esta excepci�n no se deber�a haber lanzado");
    }
  }