public DisputaDaFase(IFase fase) { if (fase == null) { throw new ArgumentNullException("Fase não informada"); } _fase = fase; }
public InicializacaoDaFase(IList <IParticipante> participantes, IFase fase = null) { if (participantes == null) { throw new ArgumentNullException("Os filmes participantes não foram informados"); } if (participantes.Count % 2 != 0) { throw new ArgumentException("Quantidade de participantes deve ser par"); } if (fase == null) { fase = FaseFactory.Criar(); } _fase = fase; _participantes = participantes.ToList(); }
public Campeonato(IList <IParticipante> participantes, IFase faseInicial) { if (faseInicial == null) { throw new ArgumentNullException("Fase inicial não foi informada"); } if (participantes == null) { throw new ArgumentNullException("Os participantes não foram informados"); } if (_fases == null) { _fases = new List <IFase>(); } _fases.Add(faseInicial); _participantes = participantes.ToList(); }
public IFase AvancarFase(IFase novaFase) { _posicaoDoConfrontoNaFase = 1; var vencedores = new List <IParticipante>(); int posicaoDoConfrontoNaNovaFase = 1; var confrontosNaNovaFase = new List <IConfronto>(); while (_posicaoDoConfrontoNaFase < _fase.Confrontos.Count) { var resultado1 = ExecutarComfronto(); var resultado2 = ExecutarComfronto(); var novoConfronto = ConfrontoFactory.Criar(resultado1.Vencedor, resultado2.Vencedor, posicaoDoConfrontoNaNovaFase); novaFase.AdicionarConfronto(novoConfronto); posicaoDoConfrontoNaNovaFase++; } return(novaFase); }
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 IList <IFase> AdicionarFase(IFase fase) { _fases.Add(fase); return(Fases); }
public static IDisputaDaFase Criar(IFase fase) { return(new DisputaDaFase(fase)); }
public static ICampeonato Criar(IList <IParticipante> participantes, IFase faseInicial) { return(new Campeonato(participantes, faseInicial)); }
public FaseController(IMapper mapper, IFase fase) { _mapper = mapper; _fase = fase; }