Exemple #1
0
        public void NaoConsigoPassarABolaPraUmJogadorDoOutroTime()
        {
            var player1 = new Jogador(Equipe.EquipeA,null);
            var player2 = new Jogador(Equipe.EquipeB, null);

            var motor = new Motor(null);
            motor.CalculaPasse(player1, player2, 2, AlturaPasse.Rasteiro, null);
        }
Exemple #2
0
        public ResultadoPasse CalculaPasse(Jogador origem, Jogador destino, int distancia, AlturaPasse alturaPasse, IEnumerable<Jogador> adversariosNoCaminho)
        {
            if(origem.Equipe != destino.Equipe)
                throw new PasseInvalidoException();

            int coeficienteDificuldade = CalculaCoeficienteDificuldadePasse(distancia, alturaPasse, adversariosNoCaminho);
            var sorte = Sorte.RodaODado();

            if(sorte + origem.AtributosJogador.Passe > coeficienteDificuldade)
                return new ResultadoPasse() {DetentorDaPelota = destino, Sucesso = true};

            return new ResultadoPasse() {Sucesso = false};
        }
Exemple #3
0
        public void UmJogadorComOtimoPasseComSorteMinimaConseguePassarABolaPraOutroJogadorA100MetroPeloChaoSemAdversarios()
        {
            var atributosJogador = new AtributosJogador { Passe = 100 };
            var player1 = new Jogador(Equipe.EquipeA, atributosJogador);
            var player2 = new Jogador(Equipe.EquipeA, atributosJogador);

            var sorte = new Mock<ICoeficienteSorte>();
            sorte.Setup(c => c.RodaODado()).Returns(1);
            var motor = new Motor(sorte.Object);
            IEnumerable<Jogador> adversariosNoCaminho = new List<Jogador>();

            ResultadoPasse resultadoPasse = motor.CalculaPasse(player1, player2, 1, AlturaPasse.Rasteiro, adversariosNoCaminho);

            Assert.IsTrue(resultadoPasse.Sucesso = true);
            Assert.IsTrue(resultadoPasse.DetentorDaPelota == player2);
        }
Exemple #4
0
        public void UmJogadorComPessimoPasseComSorteQuaseMaximaNaoConseguePassarABolaPraOutroJogadorA100MetroPeloChaoSemAdversarios()
        {
            var atributosJogador = new AtributosJogador { Passe = 1 };
            var player1 = new Jogador(Equipe.EquipeA, atributosJogador);
            var player2 = new Jogador(Equipe.EquipeA, atributosJogador);

            var sorte = new Mock<ICoeficienteSorte>();
            sorte.Setup(c => c.RodaODado()).Returns(99);
            var motor = new Motor(sorte.Object);
            IEnumerable<Jogador> adversariosNoCaminho = new List<Jogador>();

            ResultadoPasse resultadoPasse = motor.CalculaPasse(player1, player2, 100, AlturaPasse.Rasteiro, adversariosNoCaminho);

            Assert.IsFalse(resultadoPasse.Sucesso);
        }