Exemple #1
0
        public void ListCaronas_RetornaAListaDeCaronasDoOfertante()
        {
            var repository       = new CaronaRepositoryIM();
            var colaboradorTeste = Colaborador.CreateColaborador("nome teste", $"nome.teste", 1000);

            int numeroDeCaronasDoColaboradorTeste = 2;

            for (int i = 0; i < numeroDeCaronasDoColaboradorTeste; ++i)
            {
                var carona = Carona.CreateCarona(5, colaboradorTeste);
                repository.Add(carona);
            }
            int numeroDeCaronasDeOutrosColaboradores = 4;

            for (int i = 0; i < numeroDeCaronasDeOutrosColaboradores; ++i)
            {
                var outrosColaborador = Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1001 + i);
                var carona            = Carona.CreateCarona(5, outrosColaborador);
                repository.Add(carona);
            }

            var listaDeCaronasDoColaboradorTeste = repository.ListCaronasDoOfertante(colaboradorTeste.EID);
            int count = 0;

            foreach (var carona in listaDeCaronasDoColaboradorTeste)
            {
                ++count;
            }
            Assert.AreEqual(numeroDeCaronasDoColaboradorTeste, count);
        }
Exemple #2
0
        public void Carona_NaoPodeSerCriadaSeOOfertanteEstiverBloquado()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);

            ofertante.Block();
            var carona = Carona.CreateCarona(4, ofertante);
        }
Exemple #3
0
        public void BloquearCaronaOfertante()
        {
            var ofertante = new Colaborador(EID_OFERTANTE);
            var carona    = new Carona(ofertante, 1, new Endereco(), new Endereco());

            carona.SolicitarCarona(ofertante);
        }
Exemple #4
0
        public void OcuparVaga_FaltaVaga()
        {
            var  carona  = Carona.CreateCarona(0, new Colaborador("mike", "m.ike", 1001));
            bool ocupado = carona.OcuparVaga();

            //bool ocupado = false;
            Assert.IsFalse(ocupado);
        }
Exemple #5
0
        public void VerificarCarona_SePossuiDataEHoraRIO_IsTrue()
        {
            Carona carona = new Carona();

            var esperado = carona.CriarCarona(carona.DataHoraSaida);

            Assert.IsTrue(esperado);
        }
Exemple #6
0
        public void LeaveCarona_NaoPermiteDesocuparVagasSeOCaroneiroNaoEstiverPresente()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);
            var carona    = Carona.CreateCarona(5, ofertante);
            var caroneiro = Colaborador.CreateColaborador("nome2", "nome.n2", 9555);

            carona.LeaveCarona(caroneiro);
        }
Exemple #7
0
        public void JoinCarona_NaoPermiteOcuparVagasSeOCaroneiroForOOfertante()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);
            var carona    = Carona.CreateCarona(5, ofertante);
            var caroneiro = Colaborador.CreateColaborador("nome", "nome.n", 4525);

            carona.JoinCarona(caroneiro);
        }
Exemple #8
0
        public void OcuparVaga_VagasInsuficientesTest()
        {
            // Preparação
            var carona = Carona.CreateCarona(0, new Colaborador());

            //Execução
            carona.OcupeVaga(new Colaborador());
        }
Exemple #9
0
 public void CadastrarCarona(Carona carona)
 {
     if (carona != null)
     {
         throw new ArgumentNullException();
     }
     repositorio.Add(carona);
 }
Exemple #10
0
        public int RemoverCarona(int id)
        {
            var carona = new Carona()
            {
                Id = id
            };

            return(_caronaBusiness.RemoverCarona(carona));
        }
Exemple #11
0
        public void JoinCarona_NaoPermiteOcuparVagasSeONumeroDeVagasDisponiveisFor0()
        {
            var carona     = Carona.CreateCarona(1, Colaborador.CreateColaborador("nome", "nome.n", 4525));
            var caroneiro1 = Colaborador.CreateColaborador("nome2", "nome.n2", 1212);
            var caroneiro2 = Colaborador.CreateColaborador("nome3", "nome.n3", 1256);

            carona.JoinCarona(caroneiro1);
            carona.JoinCarona(caroneiro2);
        }
Exemple #12
0
        public void JoinCarona_NaoPermiteOcuparVagasSeOCaroneiroJaEstiverNaCarona()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);
            var carona    = Carona.CreateCarona(5, ofertante);
            var caroneiro = Colaborador.CreateColaborador("nome2", "nome.n2", 1252);

            carona.JoinCarona(caroneiro);
            carona.JoinCarona(caroneiro);
        }
Exemple #13
0
        private bool ChecaSeColaboradorEhOfertante(Carona carona, Colaborador colaborador)
        {
            if (carona.Ofertante.EID == colaborador.EID)
            {
                return(true);
            }

            return(false);
        }
 public IActionResult Post([FromBody] Carona item)
 {
     if (item == null)
     {
         return(BadRequest());
     }
     _business.CadastrarCarona(item);
     return(CreatedAtRoute("GetColaborador", new { id = item.Id }, item));
 }
Exemple #15
0
        public void OcuparVaga_VagasInsuficientesTeste()
        {
            //Criando Carona: VagasDisponiveis = VagasTotais = 0
            var colaborador = Colaborador.CriarColaborador("amanda.avelino.lopes");
            var carona      = Carona.CriarCarona(0, colaborador);

            //Ocupando uma vaga: !(VagasDisponiveis > 0) - Lança exceção: VagasInsuficientesException
            carona.OcuparVaga(colaborador);
        }
        public void DesbloquearEntidadeTeste()
        {
            Carona carona = Carona.CriarCarona(1, Colaborador.CriarColaborador("amanda.avelino.lopes"));

            carona.Bloquear();
            carona.Desbloquear();

            Assert.IsFalse(carona.IsBloqueado());
        }
Exemple #17
0
        public void BloquearColaboradorOferecerCarona()
        {
            var ofertante = new Colaborador(EID_OFERTANTE);

            ofertante.Bloquear();
            var carona = new Carona(ofertante, 6, new Endereco(), new Endereco());

            carona.Ofertante = ofertante;
        }
Exemple #18
0
        public void CaroneiroJaInclusoNaCarona()
        {
            var ofertante = new Colaborador(EID_OFERTANTE);
            var carona    = new Carona(ofertante, 1, new Endereco(), new Endereco());
            var caroneiro = new Colaborador(EID_CARONEIRO);

            carona.SolicitarCarona(caroneiro);
            carona.SolicitarCarona(caroneiro);
        }
Exemple #19
0
        public void LeaveCarona_AumentaONumeroDeVagasDisponiveisEm1()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);
            var carona    = Carona.CreateCarona(5, ofertante);
            var caroneiro = Colaborador.CreateColaborador("nome2", "nome.n2", 9555);

            carona.JoinCarona(caroneiro);
            carona.LeaveCarona(caroneiro);
            Assert.AreEqual(5, carona.VagasDisponiveis);
        }
Exemple #20
0
        public void JoinCarona_ReduzONumeroDeVagasDisponiveis()
        {
            var carona    = Carona.CreateCarona(5, Colaborador.CreateColaborador("nome", "nome.n", 4525));
            var caroneiro = Colaborador.CreateColaborador("nome2", "nome.n2", 1212);

            carona.JoinCarona(caroneiro);
            int vagasRestantes = 4;

            Assert.AreEqual(vagasRestantes, carona.VagasDisponiveis);
        }
        public void List_PreenchidaTest()
        {
            var repository = new ARepositoryIM <Carona>();

            var caronaQueNaoEhMinha = Carona.CreateCarona(1, new Colaborador());

            repository.Add(caronaQueNaoEhMinha);

            Assert.AreEqual(1, repository.Count);
        }
        public void AddEntity_ConfereIdTest()
        {
            var repository = new ARepositoryIM <Carona>();

            Carona caronaGuardada = repository.Add(Carona.CreateCarona(1, new Colaborador()));

            int idEsperado = 1;

            Assert.AreEqual(idEsperado, caronaGuardada.Id);
        }
Exemple #23
0
        public void Add_RetornaACaronaAdicionada()
        {
            var repository      = new CaronaRepositoryIM();
            var business        = new CaronaBusiness(repository);
            var ofertante       = Colaborador.CreateColaborador("nome", "nome.n", 1000);
            var carona          = Carona.CreateCarona(3, ofertante);
            var caronaRetornada = business.Add(carona);

            Assert.AreEqual(carona.ID, caronaRetornada.ID);
        }
Exemple #24
0
        public void BloquearColaboradorPedirCarona()
        {
            var caroneiro = new Colaborador(EID_CARONEIRO);
            var ofertante = new Colaborador(EID_OFERTANTE);

            caroneiro.Bloquear();
            var carona = new Carona(ofertante, 1, new Endereco(), new Endereco());

            carona.SolicitarCarona(caroneiro);
        }
Exemple #25
0
        public void AddCarona_VerificandoId()
        {
            var repository     = new CaronasRepositoryIM();
            var carona         = Carona.CreateCarona(1, new Colaborador());
            var caronaGuardada = repository.Add(carona);

            int idEsperado = 1;
            int actual     = caronaGuardada.Id;

            Assert.AreEqual(idEsperado, actual);
        }
Exemple #26
0
        public void DesocuparVaga_ColaboradorNaoEstaNaCaronaTest()
        {
            // Preparação
            var carona = Carona.CreateCarona(5, new Colaborador()
            {
                EID = "h.xavier.correia"
            });

            //Execução
            carona.DesocupeVaga(new Colaborador());
        }
Exemple #27
0
 public Carona CadastrarCarona(Carona carona)
 {
     if (carona == null)
     {
         throw new ArgumentNullException();
     }
     if (Existe(carona))
     {
         throw new ColaboradorNaoPodeOfertarDuasCaronasNoMesmoHorarioException();
     }
     return(_repositorio.Add(carona));
 }
        public void AddCarona_IncrementaOTamanhoDaListaDeCaronas()
        {
            var repositorio = new RepositorioCarona();
            var carona1     = Carona.CreateCarona(2, new Colaborador("Adam Smith", "a.smith", 1001));
            var carona2     = Carona.CreateCarona(5, new Colaborador("John Doe", "j.doe", 1002));

            repositorio.AddCarona(carona1);
            repositorio.AddCarona(carona2);
            int count = 2;

            Assert.AreEqual(count, repositorio.Caronas.Count);
        }
Exemple #29
0
 public IActionResult Permitir(int id, [FromBody] Colaborador colaborador)
 {
     try
     {
         Carona carona = fachada.PermitirCarona(id, colaborador);
         return(NoContent());
     }
     catch (Exception e)
     {
         return(StatusCode(500, e.Message));
     }
 }
Exemple #30
0
        public void JoinCarona_IncrementaAListaDeCaroneiros()
        {
            var carona             = Carona.CreateCarona(5, Colaborador.CreateColaborador("nome", "nome.n", 4525));
            int numeroDeCaroneiros = 4;

            for (int i = 0; i < numeroDeCaroneiros; ++i)
            {
                var caroneiro = Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i);
                carona.JoinCarona(caroneiro);
            }
            Assert.AreEqual(numeroDeCaroneiros, carona.Caroneiros.Count);
        }