コード例 #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);
        }
コード例 #2
0
        public void Carona_NaoPodeSerCriadaSeOOfertanteEstiverBloquado()
        {
            var ofertante = Colaborador.CreateColaborador("nome", "nome.n", 4525);

            ofertante.Block();
            var carona = Carona.CreateCarona(4, ofertante);
        }
コード例 #3
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);
        }
コード例 #4
0
ファイル: CaronaTest.cs プロジェクト: mlrl2/ava.caronas.api
        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);
        }
コード例 #5
0
ファイル: CaronaTest.cs プロジェクト: hfxc-zz/webapiCaronas
        public void OcuparVaga_VagasInsuficientesTest()
        {
            // Preparação
            var carona = Carona.CreateCarona(0, new Colaborador());

            //Execução
            carona.OcupeVaga(new Colaborador());
        }
コード例 #6
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);
        }
コード例 #7
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);
        }
コード例 #8
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);
        }
コード例 #9
0
        public void List_PreenchidaTest()
        {
            var repository = new ARepositoryIM <Carona>();

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

            repository.Add(caronaQueNaoEhMinha);

            Assert.AreEqual(1, repository.Count);
        }
コード例 #10
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);
        }
コード例 #11
0
        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);
        }
コード例 #12
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);
        }
コード例 #13
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);
        }
コード例 #14
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);
        }
コード例 #15
0
ファイル: CaronaTest.cs プロジェクト: hfxc-zz/webapiCaronas
        public void DesocuparVaga_ColaboradorNaoEstaNaCaronaTest()
        {
            // Preparação
            var carona = Carona.CreateCarona(5, new Colaborador()
            {
                EID = "h.xavier.correia"
            });

            //Execução
            carona.DesocupeVaga(new Colaborador());
        }
コード例 #16
0
        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);
        }
コード例 #17
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);
        }
コード例 #18
0
        public void Add_IncrementaOTamanhoDaListaDeCaronas()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 4;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            Assert.AreEqual(numeroDeCaronasAdicioanadas, repository.Entities.Count);
        }
コード例 #19
0
        public void GetById_EncontraCaronaCorreta()
        {
            var repositorio = new RepositorioCarona();

            for (int i = 0; i < 6; i++)
            {
                var carona = Carona.CreateCarona(2, new Colaborador($"Marina { i }", "marina.resende.lira" + i, 1111 + i));
                repositorio.AddCarona(carona);
            }
            var achar_carona_certa = repositorio.GetByID(2);

            Assert.AreEqual(achar_carona_certa, repositorio.Caronas[1]);
        }
コード例 #20
0
ファイル: CaronaTest.cs プロジェクト: hfxc-zz/webapiCaronas
        public void OcuparVaga_VagasSuficientesTest()
        {
            // Preparação
            var carona = Carona.CreateCarona(1, new Colaborador());

            //Execução
            carona.OcupeVaga(new Colaborador());

            var esperado = 0;
            var real     = carona.VagasDisponiveis;

            //Verificação
            Assert.AreEqual(esperado, real);
        }
コード例 #21
0
        public void GetByID_RetornaACaronaCorreta()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 4;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            var caronaParaRetornar = repository.GetByID(3);

            Assert.AreEqual("nome2", caronaParaRetornar.Ofertante.Nome);
        }
コード例 #22
0
        public void Add_AtribuiOIDCorreto()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 4;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            var caronaParaRetornar = repository.Get(c => c.Ofertante.PID == 1002);

            Assert.AreEqual(3, caronaParaRetornar.ID);
        }
コード例 #23
0
        public void Get_RetornaNullQuandoNãoHaNadaParaAchar()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 4;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            var caronaParaRetornar = repository.Get(c => c.Ofertante.EID == "nome.10");

            Assert.IsNull(caronaParaRetornar);
        }
コード例 #24
0
        public void RemoveCarona_VerificarId()
        {
            var repository = new CaronasRepositoryIM();

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

            repository.Add(carona);
            var caronaParaRemover = repository.Add(carona);

            repository.Add(carona);

            var caronaDeletada = repository.Delete(caronaParaRemover);

            Assert.AreEqual(caronaParaRemover.Id, caronaDeletada.Id);
        }
コード例 #25
0
        public void SetID_AtribuiIDCorreto()
        {
            var repositorio = new RepositorioCarona();

            for (int i = 0; i < 6; i++)
            {
                var carona = Carona.CreateCarona(3, new Colaborador($"Marina {i}", "marina.resende.lira" + i, 1111 + i));
                repositorio.AddCarona(carona);
            }
            repositorio.DeleteCarona(repositorio.Caronas[3]);
            var carona_teste = Carona.CreateCarona(6, new Colaborador("Marina", "marina.resende.lira", 1111));

            repositorio.AddCarona(carona_teste);
            Assert.AreEqual(7, carona_teste.ID);
        }
コード例 #26
0
        public void Add_RetornaACaronaCorreta()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 4;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            var caronaParaRetornar = Carona.CreateCarona(2, Colaborador.CreateColaborador("especial", "esp.al", 2000));
            var caronaTeste        = repository.Add(caronaParaRetornar);

            Assert.IsTrue(caronaParaRetornar.Equals(caronaTeste));
        }
コード例 #27
0
ファイル: CaronaTest.cs プロジェクト: hfxc-zz/webapiCaronas
        public void DesocuparVaga_ColaboradorEstaNaCaronaTest()
        {
            // Preparação
            var carona      = Carona.CreateCarona(1, new Colaborador());
            var colaborador = new Colaborador()
            {
                EID = "h.xavier.correia"
            };

            carona.OcupeVaga(colaborador);

            //Execução
            carona.DesocupeVaga(colaborador);

            Assert.AreEqual(1, carona.VagasDisponiveis);
        }
コード例 #28
0
        public void DeleteEntity_ConfereIdTest()
        {
            var repository = new ARepositoryIM <Carona>();

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

            repository.Add(carona);

            var caronaParaDeletar = repository.Add(carona);

            repository.Add(carona);

            var idRemovido = repository.Delete(caronaParaDeletar);

            Assert.AreEqual(caronaParaDeletar.Id, idRemovido);
        }
コード例 #29
0
ファイル: CaronaTest.cs プロジェクト: hfxc-zz/webapiCaronas
        public void OcuparVaga_NaoPermitirColaboradorOcuparDuasVagasTest()
        {
            var ofertante = new Colaborador()
            {
                EID = "h.xavier.correia"
            };

            var carona = Carona.CreateCarona(5, ofertante);

            var colaborador = new Colaborador()
            {
                EID = "i.ebrahim.dos.santos"
            };

            carona.OcupeVaga(colaborador);
            carona.OcupeVaga(colaborador);
        }
コード例 #30
0
        public void List_RetornaAListaDeCaronasComOTamanhoCorreto()
        {
            var repository = new CaronaRepositoryIM();
            int numeroDeCaronasAdicioanadas = 6;
            int numeroDeCaronasRemovidas    = 3;

            for (int i = 0; i < numeroDeCaronasAdicioanadas; ++i)
            {
                var carona = Carona.CreateCarona(5, Colaborador.CreateColaborador($"nome{i}", $"nome.{i}", 1000 + i));
                repository.Add(carona);
            }
            for (int i = numeroDeCaronasRemovidas; i > 0; --i)
            {
                var carona = repository.GetByID(i);
                repository.Delete(carona);
            }
            Assert.AreEqual(numeroDeCaronasAdicioanadas - numeroDeCaronasRemovidas, repository.Entities.Count);
        }