public void GerarCampeonato_FilmesInvalidos() { var service = new CampeonatoService(); Assert.Throws <FilmesInvalidosException>(() => service.GerarCampeonato(null)); Assert.Throws <FilmesInvalidosException>(() => service.GerarCampeonato(new List <Filme>())); }
public void GerarCampeonato_QuantidadeInvalida() { var service = new CampeonatoService(); var filmes = new List <Filme>() { new Filme() { Id = "tt4154756", Ano = 2018, Nota = 8.8M, Titulo = "Vingadores: Guerra Infinita" }, new Filme() { Id = "tt5164214", Ano = 2018, Nota = 6.3M, Titulo = "Oito Mulheres e um Segredo" }, new Filme() { Id = "tt7784604", Ano = 2018, Nota = 7.8M, Titulo = "Hereditário" } }; Assert.Throws <QuantidadeInvalidaException>(() => service.GerarCampeonato(filmes)); }
public void GerarCampeonato_PrimeiroESegundoColocado() { var service = new CampeonatoService(); var result = service.GerarCampeonato(filmes); // o vencedor está na chave result.Keys.First().Titulo.Should().Be("Vingadores: Guerra Infinita"); // o segundo colocado está no valor result.Values.First().Titulo.Should().Be("Os Incríveis 2"); }
public void Gerar_Campeonato_Com_Numero_Invalido_de_Filmes() { CriarDependenciasMockAsync(); IList <string> listaFilmes = new List <string>() { "teste", "teste" }; Action action = () => campeonatoService.GerarCampeonato(listaFilmes); action .Should().Throw <ArgumentOutOfRangeException>() .WithMessage("O número de filmes selecionados precisa ser igual a 8\r\nParameter name: idsFilmesSelecionados"); }
public void DevoIdentificarOCampeaoEVice() { //Arrange var servico = new CampeonatoService(_filmeRepository.Object); var filmesSelecionados = _filmeRepository.Object.ListarAsync().Result; var filmesSelecionadosIds = filmesSelecionados.Take(8).Select(x => x.Id).ToArray(); //Act Campeonato campeonato = servico.GerarCampeonato(filmesSelecionadosIds).Result; //Assert Assert.Equal("tt4154756", campeonato.Campeao.Id); Assert.Equal("tt3606756", campeonato.ViceCampeao.Id); }
public void DevoRetornarErroAoPassarFilmesNulos() { //Arrange var servico = new CampeonatoService(_filmeRepository.Object); //Act Exception ex = Assert.ThrowsAsync <ArgumentNullException>(async() => await servico.GerarCampeonato(null)).Result; //Assert Assert.NotNull(ex); Assert.IsType <ArgumentNullException>(ex); }