예제 #1
0
        private IResultadoDaPartida ExecutarComfronto()
        {
            var confronto           = _fase.Confrontos.First(confronto => confronto.PosicaoDoConfrontoNaFase == _posicaoDoConfrontoNaFase);
            var apuracaoDoConfronto = ApuracaoDoConfrontoFactory.Criar(confronto);
            var resultado           = apuracaoDoConfronto.DefinirVencedor();

            _posicaoDoConfrontoNaFase++;

            return(resultado);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }