/**
   * Esse metodo eh responsavel por criar sessoes para o respectivo espetaculo, dado o intervalo de
   * inicio e fim, mais a periodicidade.
   *
   * <p>O algoritmo funciona da seguinte forma: - Caso a data de inicio seja 01/01/2010, a data de
   * fim seja 03/01/2010, e a periodicidade seja DIARIA, o algoritmo cria 3 sessoes, uma para cada
   * dia: 01/01, 02/01 e 03/01.
   *
   * <p>- Caso a data de inicio seja 01/01/2010, a data fim seja 31/01/2010, e a periodicidade seja
   * SEMANAL, o algoritmo cria 5 sessoes, uma a cada 7 dias: 01/01, 08/01, 15/01, 22/01 e 29/01.
   *
   * <p>Repare que a data da primeira sessao é sempre a data inicial.
   */
  public List<Sessao> criaSessoes(
      LocalDate inicio, LocalDate fim, LocalTime horario, Periodicidade periodicidade) {

    Sessao sessao = new Sessao();
    sessao.setInicio(inicio.toDateTime(horario));
    sessoes.add(sessao);

    return sessoes;
  }
示例#2
0
  @Test
  public void verificaPromocaoFuturaInvalida() {
    Sessao sessao = new Sessao();
    sessao.setInicio(new DateTime());

    Promocao promocao = new Promocao();
    promocao.setInicio(new DateTime().plusMinutes(1));
    promocao.setFim(new DateTime().plusHours(1));

    Util util = new Util();
    Assert.assertFalse(sessao.dentroDoIntervalo(promocao));
  }