Example #1
0
        public void Verificar_se_retorna_erro_se_nao_receber_todos_os_times()
        {
            var semiFinal = new SemiFinal
            {
                Filmes = _filmes.ToList().GetRange(0, 2)
            };

            Assert.Throws <ArgumentOutOfRangeException>(() => semiFinal.Iniciar());
        }
Example #2
0
        public Final GerarCampeonato([FromBody] List <Filme> filmes)
        {
            Campeonato   campeonato = Campeonato.RealizarCampeonato(filmes);
            GrupoOitavas oitavas    = campeonato.grupoOitavas;
            GrupoQuartas quartas    = campeonato.grupoQuartas;
            SemiFinal    semifinal  = campeonato.semiFinal;
            Final        final      = campeonato.final;

            return(final);
        }
Example #3
0
        public void Verificar_se_retorna_final_recebendo_quatro_filmes()
        {
            var semiFinal = new SemiFinal
            {
                Filmes = _filmes.ToList().GetRange(0, 4)
            };

            var final = semiFinal.Iniciar();

            Assert.NotNull(final);
        }
        public List <Filme> ObterVencedor(List <Filme> filmes)
        {
            var vencedoresDaQuarta = new QuartaDeFinal(filmes).ObterVencedores();
            var vencedoresDaSemi   = new SemiFinal(vencedoresDaQuarta).ObterVencedores();
            var vencedor           = new Final(vencedoresDaSemi).ObterVencedor();
            var vice = vencedoresDaSemi.First(filme => filme.Id != vencedor.Id);

            return(new List <Filme> {
                vencedor, vice
            });
        }
Example #5
0
        public void DeveObterVencedoresDaSemiFinal()
        {
            var vencedoresEsperado = new List <Filme> {
                Filmes[0],
                Filmes[3]
            };
            var semiFinal = new SemiFinal(Filmes);

            var vencedoresEncontrados = semiFinal.ObterVencedores();

            CollectionAssert.AreEqual(vencedoresEsperado, vencedoresEncontrados);
        }
Example #6
0
        public Eliminatorias PreencherFinal()
        {
            if (SemiFinal == null || SemiFinal.Count() < 2)
            {
                throw new Exception("Não é possível avançar para a final antes da semifinal");
            }

            var primeiroFilme = SemiFinal[0].ObterVencedor();
            var segundoFilme  = SemiFinal[1].ObterVencedor();

            Final = new Partida(primeiroFilme, segundoFilme);

            return(this);
        }
Example #7
0
        public void DeveObterGruposDaSemiFinal()
        {
            var semiFinal     = new SemiFinal(Filmes);
            var grupoEsperado = new Dictionary <string, List <Filme> > {
                { "12", new List <Filme> {
                      Filmes[0], Filmes[1]
                  } },
                { "34", new List <Filme> {
                      Filmes[2], Filmes[3]
                  } }
            };

            var grupoEncontrado = semiFinal.ObterGrupos();

            CollectionAssert.AreEqual(grupoEsperado, grupoEncontrado);
        }
Example #8
0
        public void Verificar_se_retorna_filmes_corretos_na_final_recebendo_quatro_filmes()
        {
            var filmes    = _filmes.ToList();
            var semiFinal = new SemiFinal
            {
                Filmes = new List <Filme> {
                    filmes.FirstOrDefault(x => x.Titulo == "Vingadores: Guerra Infinita"),
                    filmes.FirstOrDefault(x => x.Titulo == "Thor: Ragnarok"),
                    filmes.FirstOrDefault(x => x.Titulo == "Os Incríveis 2"),
                    filmes.FirstOrDefault(x => x.Titulo == "Jurassic World: Reino Ameaçado")
                }
            };

            var final = semiFinal.Iniciar();

            var filme1 = final.Filmes[0].Titulo == "Vingadores: Guerra Infinita";
            var filme2 = final.Filmes[1].Titulo == "Os Incríveis 2";

            Assert.True(filme1 && filme2);
        }
Example #9
0
        public void DeveValidarAQuantidadeDeFilmeQuandoForIgualAOitoNaSemiFinal()
        {
            var semiFinal = new SemiFinal(Filmes);

            Assert.AreEqual(Filmes.Count(), semiFinal.Filmes.Count());
        }
Example #10
0
        public void HaveTheRightNumberOfMatchesAfterRun()
        {
            var semiFinal = new SemiFinal(FakeMovieGenerator.GetListWithFourMovies());

            Assert.Equal(2, semiFinal.Matches.Count);
        }
Example #11
0
        public void Verificar_se_retorna_erro_se_nao_receber_nenhum_filme()
        {
            var semiFinal = new SemiFinal();

            Assert.Throws <NullReferenceException>(() => semiFinal.Iniciar());
        }