public void Devo_conseguir_executar_o_confronto_da_final() { //Arrange var listaDeFilmes = new List <IFilme>(); for (int i = 1; i <= 8; i++) { var filmeParticipante = FilmeFactory.Criar(i.ToString(), $"Filme {i}", 10); listaDeFilmes.Add(filmeParticipante); } var inicializacaoDoCampeonato = InicializacaoDoCampeonatoFactory.Criar(listaDeFilmes, configuracaoDoCampeonato); campeonato = inicializacaoDoCampeonato.Inicializar(); var disputaDoCampeonato = DisputaDoCampeonatoFactory.Criar(campeonato); disputaDoCampeonato.ExecutarDisputaDasFases(); //Act var disputaDaFinal = DisputaDaFinalFactory.Criar(campeonato); disputaDaFinal.ExecutarConfrontoDaFinal(); //Assert Assert.AreEqual(campeonato.ResultadoFinal.Campeao.Titulo, listaDeFilmes[0].Titulo); }
public void Devo_conseguir_definir_o_vencedor_pela_ordem_alfabetica_quando_acontecer_empate_por_nota() { //Arrange var filmeParticipante1 = ParticipanteFactory.Criar(FilmeFactory.Criar("1", "Filme 1", 10), 2); var filmeParticipante2 = ParticipanteFactory.Criar(FilmeFactory.Criar("2", "Filme 2", 10), 1); var confronto = ConfrontoFactory.Criar(filmeParticipante1, filmeParticipante2, 1); //Act apuracaoDoConfronto = ApuracaoDoConfrontoFactory.Criar(confronto); var resultadoDaPartida = apuracaoDoConfronto.DefinirVencedor(); //Assert Assert.IsTrue(resultadoDaPartida.Vencedor.PosicaoNaOrdemAlfabetica < resultadoDaPartida.Derrotado.PosicaoNaOrdemAlfabetica); }
public void Devo_conseguir_definir_como_vencedor_o_filme_com_maior_nota() { //Arrange var filmeParticipante1 = ParticipanteFactory.Criar(FilmeFactory.Criar("1", "Filme 1", 10), 1); var filmeParticipante2 = ParticipanteFactory.Criar(FilmeFactory.Criar("2", "Filme 2", 9), 2); var confronto = ConfrontoFactory.Criar(filmeParticipante1, filmeParticipante2, 1); //Act apuracaoDoConfronto = ApuracaoDoConfrontoFactory.Criar(confronto); var resultadoDaPartida = apuracaoDoConfronto.DefinirVencedor(); //Assert Assert.IsTrue(resultadoDaPartida.Vencedor.FilmeParticipante.Nota > resultadoDaPartida.Derrotado.FilmeParticipante.Nota); }
public void Devo_conseguir_inicializar_o_campeonato_configurando_a_fase_inicial() { //Arrange listaDeFilmes = new List <IFilme>(); for (int i = 1; i <= 8; i++) { var filmeParticipante = FilmeFactory.Criar(i.ToString(), $"Filme {i}", 10); listaDeFilmes.Add(filmeParticipante); } //Act var inicializacaoDosParticipantes = InicializacaoDoCampeonatoFactory.Criar(listaDeFilmes, configuracaoDoCampeonato); var campeonato = inicializacaoDosParticipantes.Inicializar(); //Assert Assert.AreEqual(campeonato.Fases.Count, 1); }
public void Devo_conseguir_inicializar_a_fase_organizando_os_confrontos() { //Arrange listaDeParticipantes = new List <IParticipante>(); for (int i = 1; i <= 8; i++) { var filmeParticipante = ParticipanteFactory.Criar(FilmeFactory.Criar(i.ToString(), $"Filme {i}", i), i); listaDeParticipantes.Add(filmeParticipante); } IFase novaFase; //Act var inicializacaoDaFase = new InicializacaoDaFase(listaDeParticipantes); novaFase = inicializacaoDaFase.Inicializar(); //Assert Assert.AreEqual(novaFase.Confrontos.Count, 4); }
public void Devo_conseguir_executar_o_campeonato_e_definir_o_campeao() { //Arrange listaDeFilmes = new List <IFilme>(); IFilme filmeParticipante; filmeParticipante = FilmeFactory.Criar("10", $"Filme 10", 10); listaDeFilmes.Add(filmeParticipante); for (int i = 1; i <= 7; i++) { filmeParticipante = FilmeFactory.Criar(i.ToString(), $"Filme {i}", 9); listaDeFilmes.Add(filmeParticipante); } //Act var execucaoDoCampeonatoService = new ExecucaoDoCampeonatoService(configuracaoDoCampeonato); var campeonato = execucaoDoCampeonatoService.Executar(listaDeFilmes); //Assert Assert.AreEqual(campeonato.ResultadoFinal.Campeao.Titulo, listaDeFilmes[0].Titulo); }
public void Devo_conseguir_executar_a_disputa_das_fases() { //Arrange var listaDeFilmes = new List <IFilme>(); for (int i = 1; i <= 8; i++) { var filmeParticipante = FilmeFactory.Criar(i.ToString(), $"Filme {i}", 10); listaDeFilmes.Add(filmeParticipante); } var inicializacaoDoCampeonato = InicializacaoDoCampeonatoFactory.Criar(listaDeFilmes, configuracaoDoCampeonato); campeonato = inicializacaoDoCampeonato.Inicializar(); //Act var disputaDoCampeonato = DisputaDoCampeonatoFactory.Criar(campeonato); disputaDoCampeonato.ExecutarDisputaDasFases(); //Assert Assert.Greater(campeonato.Fases.Count, 1); }
public void Devo_conseguir_avancar_a_fase_executando_as_disputas_dos_conforntos() { //Arrange var filmeParticipante1 = ParticipanteFactory.Criar(FilmeFactory.Criar("1", "Filme 1", 10), 1); var filmeParticipante2 = ParticipanteFactory.Criar(FilmeFactory.Criar("2", "Filme 2", 9), 2); var confronto1 = ConfrontoFactory.Criar(filmeParticipante1, filmeParticipante2, 1); var filmeParticipante3 = ParticipanteFactory.Criar(FilmeFactory.Criar("1", "Filme 3", 10), 3); var filmeParticipante4 = ParticipanteFactory.Criar(FilmeFactory.Criar("2", "Filme 4", 9), 4); var confronto2 = ConfrontoFactory.Criar(filmeParticipante3, filmeParticipante4, 2); fase = FaseFactory.Criar(); fase.AdicionarConfronto(confronto1); fase.AdicionarConfronto(confronto2); IFase novaFase = FaseFactory.Criar(); //Act var disputaDaFase = new DisputaDaFase(fase); novaFase = disputaDaFase.AvancarFase(novaFase); //Assert Assert.AreEqual(novaFase.Confrontos.Count, 1); }
public void Devo_conseguir_inicializar_a_lista_dos_participantes_ordenados_em_ordem_alfabetica() { //Arrange listaDeFilmes = new List <IFilme>(); var filmeParticipante1 = FilmeFactory.Criar("1", "Filme 2", 10); listaDeFilmes.Add(filmeParticipante1); var filmeParticipante2 = FilmeFactory.Criar("2", "Filme 4", 9); listaDeFilmes.Add(filmeParticipante2); var filmeParticipante3 = FilmeFactory.Criar("1", "Filme 3", 10); listaDeFilmes.Add(filmeParticipante3); var filmeParticipante4 = FilmeFactory.Criar("2", "Filme 1", 9); listaDeFilmes.Add(filmeParticipante4); //Act var inicializacaoDosParticipantes = new InicializacaoDosParticipantes(listaDeFilmes); var participantes = inicializacaoDosParticipantes.Inicializar(); //Assert Assert.AreEqual(participantes[0].FilmeParticipante.Titulo, "Filme 1"); }
public IList <IFilme> Buscar() { var acessoDadosExternos = new AcessoDadosExternos(_fontesExternas.UrlFilmes); var jsonFilmes = acessoDadosExternos.BuscarDadosComoTexto(); var filmesDynanmics = JArray.Parse(jsonFilmes); List <IFilme> filmes = new List <IFilme>(); foreach (dynamic filmeDynamic in filmesDynanmics) { string id = filmeDynamic.id; string titulo = filmeDynamic.titulo; string notaTexto = filmeDynamic.nota; double nota = double.Parse(notaTexto, System.Globalization.CultureInfo.InvariantCulture); string anoLancamento = filmeDynamic.ano; var filme = FilmeFactory.Criar(id, titulo, nota, anoLancamento); filmes.Add(filme); } return(filmes); }