Skip to content

Instantly share code, notes, and snippets.

@jeroavf
Created November 6, 2015 11:52
Show Gist options
  • Save jeroavf/08c6b6cb671d06a93a3b to your computer and use it in GitHub Desktop.
Save jeroavf/08c6b6cb671d06a93a3b to your computer and use it in GitHub Desktop.
Testes de Espetaculo PM87
@Test(expected = IllegalArgumentException.class)
public void naoDeveriaCriarSessoesDiariasQuandoDataInicioMaiorQueDataFim() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalDate amanha = hoje.plusDays(1);
LocalTime agora = new LocalTime();
Periodicidade diaria = Periodicidade.DIARIA;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(amanha, hoje, agora, diaria);
//ESTAS SAO AS SAIDAS ESPERADAS:
//Nao tem asserts pq deveria jogar exception...
}
@Test(expected = IllegalArgumentException.class)
public void naoDeveriaCriarSessoesSemanaisQuandoDataInicioMaiorQueDataFim() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalDate amanha = hoje.plusDays(1);
LocalTime agora = new LocalTime();
Periodicidade semanal = Periodicidade.SEMANAL;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(amanha, hoje, agora, semanal);
//ESTAS SAO AS SAIDAS ESPERADAS:
//Nao tem asserts pq deveria jogar exception...
}
@Test
public void deveriaCriarApenasUmaSessaoParaPeriodicidadeDiariaComDataInicioIgualDataFim() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalTime agora = new LocalTime();
Periodicidade diaria = Periodicidade.DIARIA;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(hoje, hoje, agora, diaria);
//ESTAS SAO AS SAIDAS ESPERADAS:
Assert.assertEquals(1, sessoes.size());
//Nao basta apenas verificar o size da lista, precisa garantir que criou as sessoes corretamente:
Sessao unica = sessoes.get(0);
Assert.assertEquals(show, unica.getEspetaculo());
Assert.assertEquals(hoje.toDateTime(agora), unica.getInicio());
}
@Test
public void deveriaCriarApenasUmaSessaoParaPeriodicidadeSemanalComDataInicioIgualDataFim() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalTime agora = new LocalTime();
Periodicidade semanal = Periodicidade.SEMANAL;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(hoje, hoje, agora, semanal);
//ESTAS SAO AS SAIDAS ESPERADAS:
Assert.assertEquals(1, sessoes.size());
//Nao basta apenas verificar o size da lista, precisa garantir que criou as sessoes corretamente:
Sessao unica = sessoes.get(0);
Assert.assertEquals(show, unica.getEspetaculo());
Assert.assertEquals(hoje.toDateTime(agora), unica.getInicio());
}
@Test
public void deveriaCriarCincoSessoesParaPeriodicidadeDiariaComIntervaloDeCincoDias() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalDate daquiQuatroDias = hoje.plusDays(4);
LocalTime agora = new LocalTime();
Periodicidade diaria = Periodicidade.DIARIA;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(hoje, daquiQuatroDias, agora, diaria);
//ESTAS SAO AS SAIDAS ESPERADAS:
Assert.assertEquals(5, sessoes.size());
//Nao basta apenas verificar o size da lista, precisa garantir que criou as sessoes corretamente:
for(int i = 0; i < sessoes.size(); i++) {
Assert.assertEquals(show, sessoes.get(i).getEspetaculo());
Assert.assertEquals(hoje.plusDays(i).toDateTime(agora), sessoes.get(i).getInicio());
}
}
@Test
public void deveriaCriarCincoSessoesParaPeriodicidadeSemanalComIntervaloDeCincoSemanas() {
//DADAS ESTAS ENTRADAS:
LocalDate hoje = new LocalDate();
LocalDate daquiQuatroSemanas = hoje.plusWeeks(4);
LocalTime agora = new LocalTime();
Periodicidade semanal = Periodicidade.SEMANAL;
//QUANDO EU DISPARAR O PROCESSAMENTO:
Espetaculo show = new Espetaculo();
List<Sessao> sessoes = show.criaSessoes(hoje, daquiQuatroSemanas, agora, semanal);
//ESTAS SAO AS SAIDAS ESPERADAS:
Assert.assertEquals(5, sessoes.size());
//Nao basta apenas verificar o size da lista, precisa garantir que criou as sessoes corretamente:
for(int i = 0; i < sessoes.size(); i++) {
Assert.assertEquals(show, sessoes.get(i).getEspetaculo());
Assert.assertEquals(hoje.plusWeeks(i).toDateTime(agora), sessoes.get(i).getInicio());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment