示例#1
0
        public void GerarCampeonato_FilmesInvalidos()
        {
            var service = new CampeonatoService();

            Assert.Throws <FilmesInvalidosException>(() => service.GerarCampeonato(null));
            Assert.Throws <FilmesInvalidosException>(() => service.GerarCampeonato(new List <Filme>()));
        }
示例#2
0
        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));
        }
示例#3
0
        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");
        }
示例#4
0
        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);
        }