/** * 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; }
@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)); }