コード例 #1
0
        public void TesteObtenhaTodos()
        {
            var objTeste = FabricaDeRota.Crie("GYN", "GRU");

            _servico.Salve(objTeste);

            var listaDeObjetos = _servico.ObtenhaTodos();

            Assert.IsTrue(listaDeObjetos.Count() > 0);
        }
コード例 #2
0
        private IVoo CrieVoo(IGrouping <dynamic, IPassageiro> passageirosPorVoo)
        {
            IVoo voo = FabricaDeVoo.Crie(FabricaDeRota.Crie(passageirosPorVoo.Key.Origem, passageirosPorVoo.Key.Destino),
                                         FabricaDeDataDeSaida.Crie(passageirosPorVoo.Key.Data));

            voo.Passageiros = passageirosPorVoo.ToList();

            voo.RiscoDeOverbooking = CalculadoraDeRisco.CalculeProbabilidadeDeComparecimento(voo);

            return(voo);
        }
コード例 #3
0
        public void TesteSalvar()
        {
            var objTeste = FabricaDeRota.Crie("GYN", "GRU", 99);

            _servico.Salve(objTeste);

            var objDoServico = _servico.Obtenha(objTeste);

            Assert.AreEqual(objTeste.Origem, objDoServico.Origem);
            Assert.AreEqual(objTeste.Destino, objDoServico.Destino);
            Assert.AreEqual(objTeste.ProbabilidadeDeComparecimento, objDoServico.ProbabilidadeDeComparecimento);
        }
コード例 #4
0
        public void TesteAdicionarPassageiro()
        {
            var objTeste = FabricaDePassageiroVoo.Crie("Marcel Camargo",
                                                       FabricaDeIdadeDoPassageiro.Crie(27),
                                                       FabricaDeRota.Crie("GYN", "GRU"),
                                                       FabricaDeDataDeSaida.Crie(DateTime.Now));

            _servico.AdicionePassageiro(objTeste);

            var objDoServico = _servico.ObtenhaTodosPassageiros();

            Assert.IsTrue(objDoServico.Contains(objTeste));
        }
コード例 #5
0
        public void TesteObtenhaVoos()
        {
            var objTeste = FabricaDePassageiroVoo.Crie("Marcel Camargo",
                                                       FabricaDeIdadeDoPassageiro.Crie(27),
                                                       FabricaDeRota.Crie("GYN", "GRU"),
                                                       FabricaDeDataDeSaida.Crie(DateTime.Now));

            var objTeste2 = FabricaDePassageiroVoo.Crie("Maria Eduarda",
                                                        FabricaDeIdadeDoPassageiro.Crie(32),
                                                        FabricaDeRota.Crie("GYN", "CGH"),
                                                        FabricaDeDataDeSaida.Crie(DateTime.Now));

            _servico.AdicionePassageiro(objTeste);
            _servico.AdicionePassageiro(objTeste2);

            var objDoServico = _servico.ObtenhaTodosVoos();

            Assert.IsTrue(objDoServico.Count() >= 2);
        }
コード例 #6
0
        public ActionResult Salvar(RotaModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var rota = FabricaDeRota.Crie(model.Origem, model.Destino, model.ProbabilidadeDeComparecimento.Value);

                    _servicoGenerico.Salve(rota);

                    return(RetorneViewIndex(null));
                }
                catch (Exception ex)
                {
                    return(PartialView("Erro", ex.Message));
                }
            }

            return(RetorneViewIndex(model));
        }
コード例 #7
0
        public ActionResult Adicionar(PassageiroVooModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var passageiroVoo = FabricaDePassageiroVoo.Crie(model.Nome,
                                                                    FabricaDeIdadeDoPassageiro.Crie(model.Idade.Value),
                                                                    FabricaDeRota.Crie(model.Origem, model.Destino),
                                                                    FabricaDeDataDeSaida.Crie(model.Data.Value));

                    _servicoDeVoo.AdicionePassageiro(passageiroVoo);

                    return(RetorneViewIndex(null));
                }
                catch (Exception ex)
                {
                    return(PartialView("Erro", ex.Message));
                }
            }

            return(RetorneViewIndex(model));
        }
コード例 #8
0
        public void TesteLimiteDePassageirosDoVoo()
        {
            var dataVoo   = DateTime.Now;
            var qtdLimite = _servico.ObtenhaQtdLimiteDePassageirosPadrao();

            for (var qtd = 0; qtd <= qtdLimite; qtd++)
            {
                var objTeste = FabricaDePassageiroVoo.Crie($"Passageiro {qtd}",
                                                           FabricaDeIdadeDoPassageiro.Crie(27),
                                                           FabricaDeRota.Crie("GYN", "GRU"),
                                                           FabricaDeDataDeSaida.Crie(dataVoo));

                try
                {
                    _servico.AdicionePassageiro(objTeste);
                }
                catch (Exception ex)
                {
                    Assert.IsTrue(ex.Message.Contains("A capacidade máxima de"));
                    return;
                }
            }
        }