示例#1
0
        public void novaReservaParaMesmoCliente()
        {
            Aviao   aviao   = aviaoParaTest();
            Voo     voo     = vooParaTest(aviao);
            Cliente cliente = clienteParaTest();

            voo.novaReserva(
                cliente,
                aviao.assento(1));
            voo.novaReserva(
                cliente,
                aviao.assento(2));
        }
示例#2
0
        public void assentoReservado()
        {
            Aviao aviao = aviaoParaTest();
            Voo   voo   = vooParaTest(aviao);

            voo.novaReserva(
                clienteParaTest("barns"),
                aviao.assento(1),
                aviao.assento(2));
            voo.novaReserva(
                clienteParaTest("celiao"),
                aviao.assento(1));
        }
示例#3
0
        public void cancelarReservaInexistente()
        {
            Cliente ricardo = clienteParaTest("ricardo");
            Cliente celio   = clienteParaTest("celio");
            Aviao   aviao   = aviaoParaTest();
            Voo     voo     = vooParaTest(aviao);

            voo.novaReserva(
                ricardo,
                aviao.assento(1),
                aviao.assento(2));

            voo.cancelarReserva(celio);
        }
示例#4
0
        public void novaReservaClienteEspecial()
        {
            Aviao   aviao   = aviaoParaTest();
            Voo     voo     = vooParaTest(aviao, 135.89);
            Cliente cliente = clienteEspecialParaTest("barns");

            voo.novaReserva(
                cliente,
                aviao.assento(1),
                aviao.assento(2),
                aviao.assento(3),
                aviao.assento(4));
            Assert.IsTrue(voo.listaAssentosReservados().Count == 4);
            Assert.AreEqual((4 * 135.89) * .9, voo.obterReservaPeloCliente(cliente).total());
        }
示例#5
0
        public List <AssentoData> mapaAssentos(string vooId)
        {
            Voo   voo   = vooRepositorio().obterPeloId(new VooId(vooId));
            Aviao aviao = aviaoRepositorio().obterPeloId(voo.aviaoId());

            List <AssentoData> result = new List <AssentoData>();

            for (int i = 1; i <= aviao.assentos(); i++)
            {
                result.Add(new AssentoData(i, voo.assentoReservado(aviao.assento(i))));
            }

            return(result);
        }
示例#6
0
        public void cancelarReserva()
        {
            Cliente ricardo = clienteParaTest("ricardo");
            Cliente celio   = clienteParaTest("celio");
            Aviao   aviao   = aviaoParaTest();
            Voo     voo     = vooParaTest(aviao);

            voo.novaReserva(
                ricardo,
                aviao.assento(1),
                aviao.assento(2));
            voo.novaReserva(
                celio,
                aviao.assento(3));
            Assert.IsTrue(voo.listaAssentosReservados().Count == 3);

            voo.cancelarReserva(ricardo);

            Assert.IsTrue(voo.listaAssentosReservados().Count == 1);

            voo.cancelarReserva(celio);

            Assert.IsTrue(voo.listaAssentosReservados().Count == 0);
        }
示例#7
0
        public void novaReserva(VooComando comando)
        {
            Aviao a = aviao(voo(comando.vooId).aviaoId());

            List <Assento> lista = new List <Assento>();

            foreach (int assento in comando.assentos)
            {
                lista.Add(a.assento(assento));
            }

            Voo v = voo(comando.vooId);

            v.novaReserva(
                cliente(comando.clienteId),
                lista.ToArray());

            DominioRegistro.vooRepositorio().salvarReservas(v);
        }