private IResultadoDaPartida ExecutarComfronto() { var confronto = _fase.Confrontos.First(confronto => confronto.PosicaoDoConfrontoNaFase == _posicaoDoConfrontoNaFase); var apuracaoDoConfronto = ApuracaoDoConfrontoFactory.Criar(confronto); var resultado = apuracaoDoConfronto.DefinirVencedor(); _posicaoDoConfrontoNaFase++; return(resultado); }
public ICampeonato ExecutarConfrontoDaFinal() { var confrontoFinal = _campeonato.Fases.Where(fase => fase.Confrontos.Count == 1).FirstOrDefault().Confrontos.FirstOrDefault(); var apuracaoDoConfronto = ApuracaoDoConfrontoFactory.Criar(confrontoFinal); var resultadoDaPartida = apuracaoDoConfronto.DefinirVencedor(); var resultadoDaFinal = ResultadoDaFinalFactory.Criar(resultadoDaPartida.Vencedor.FilmeParticipante, resultadoDaPartida.Derrotado.FilmeParticipante); _campeonato.AdicionarResultadoDaFinal(resultadoDaFinal); return(_campeonato); }
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); }