public void CriarOrcamentoComSucessoComCincoOrcamentoJaCriadoDeveTeNomeOrcamentoIgualAVersaoSeis()
        {
            ServicoOrcamentoDeViagens servico = new ServicoOrcamentoDeViagens();

            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();

            var diarias = MockRepository.GenerateMock<IDiarias>();
            diarias.Expect(c => c.Todos()).Return(new List<Diaria>());

            var viagens = MockRepository.GenerateMock<IViagens>();
            viagens.Expect(c => c.Todos()).Return(new List<Viagem>());

            servico.Orcamentos = orcamentos;
            servico.Diarias = diarias;
            servico.Viagens = viagens;

            Departamento departamento = new Setor("Barra dor");
            CentroDeCusto centroDeCusto = new CentroDeCusto("centroDeCusto");
            departamento.AdicionarCentroDeCusto(centroDeCusto);

            var orcamentosLista = new List<Orcamento.Domain.Orcamento>();
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            var orcamento = servico.CriarOrcamentoDeViagem(orcamentosLista, departamento, centroDeCusto, 2014);

            Assert.AreEqual(orcamento.NomeOrcamento, "Versão6");
        }
        public void inicializar()
        {
            var centroDeCusto = new CentroDeCusto("TesteCD") { Id = 1 };

            departamento = MockRepository.GenerateMock<Departamento>();
            departamento.Expect(x => x.ObterCentroDeCustoPor(1)).Return(centroDeCusto);
            departamento.Id = 1;
            departamento.Nome = "teste";

            view = MockRepository.GenerateMock<IViewOrcamentoDeViagem>();
            view.Departamento = departamento;
            view.CentroDeCustoId = 1;

            var cidade = new Cidade("Niteroi");

            var diarias = MockRepository.GenerateMock<IDiarias>();

            var ticket = MockRepository.GenerateMock<Orcamento.Domain.Ticket>();

            var tickets = new List<Ticket> {ticket};

            var viagem = new Orcamento.Domain.Viagem {Cidade = cidade, Id = 1, Tickets = tickets};

            var diaria = new Diaria {Id = 1, Cidade = cidade};

            var diariasL = new List<Diaria> {diaria};
            diarias.Expect(x => x.Todos()).Return(diariasL);

            repositorioOrcamentos = MockRepository.GenerateMock<IOrcamentos>();

            var listaDeOrcamentos = new List<Orcamento.Domain.Orcamento> { new OrcamentoDeViagem(departamento, centroDeCusto, 2014) };

            var orcamentoDeViagem = new ServicoOrcamentoDeViagens {Orcamentos = repositorioOrcamentos};

            var servicoOrcamentoDeViagens = new ServicoOrcamentoDeViagens { Diarias = diarias, Orcamentos = repositorioOrcamentos};
            servicoOrcamentoDeViagens.CriarOrcamentoDeViagem(listaDeOrcamentos, departamento, centroDeCusto, 2014);

            repositorioOrcamentos.Expect(x => x.TodosOrcamentosDeViagemPor(centroDeCusto, departamento)).Return(
                listaDeOrcamentos);

            controller = new OrcamentoDeViagemController(view) {View = view, Orcamentos = repositorioOrcamentos};
            //controller.Expect(x => x.ServicoOrcamentoDeViagens).Return(orcamentoDeViagem); //???
            controller.CriarNovoOrcamentoOperacional(departamento, centroDeCusto.Id);
        }
        public void AtribuirVersaoFinalComSucesso()
        {
            ServicoOrcamentoDeViagens servico = new ServicoOrcamentoDeViagens();

            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();

            var diarias = MockRepository.GenerateMock<IDiarias>();

            Diaria diaria = new Diaria();
            diaria.Cidade = new Cidade("ljk") {Descricao = "kjh"};
            Ticket ticket = new Ticket(new TipoTicket("1"), diaria.Cidade);
            ticket.Valor = 10;

            diaria.Tickets = new List<Ticket>();
            diaria.Tickets.Add(ticket);

            List<Diaria> listaDiarias = new List<Diaria>();

            listaDiarias.Add(diaria);

            diarias.Expect(c => c.Todos()).Return(listaDiarias);

            var viagens = MockRepository.GenerateMock<IViagens>();
            viagens.Expect(c => c.Todos()).Return(new List<Viagem>());

            servico.Orcamentos = orcamentos;
            servico.Diarias = diarias;
            servico.Viagens = viagens;

            Departamento departamento = new Hospital("Barra dor");

            var orcamento = new OrcamentoDeViagem(departamento, new CentroDeCusto("centroDeCusto"), 2014);

            DiariaViagem despesa = new DiariaViagem();
            despesa.ValorTotal = 10;
            despesa.Diaria = diaria;
            orcamento.Despesas.Add(despesa);

            servico.AtribuirVersaoFinal(orcamento);

            Assert.IsTrue(orcamento.VersaoFinal);
        }
        public void DeletarOrcamentoComDoisOrcamentosNaListaPrimeiroItemDaListaDeveTerNomeDeVersaoUm()
        {
            ServicoOrcamentoDeViagens servico = new ServicoOrcamentoDeViagens();

            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();

            var diarias = MockRepository.GenerateMock<IDiarias>();
            diarias.Expect(c => c.Todos()).Return(new List<Diaria>());

            var viagens = MockRepository.GenerateMock<IViagens>();
            viagens.Expect(c => c.Todos()).Return(new List<Viagem>());

            servico.Orcamentos = orcamentos;
            servico.Diarias = diarias;
            servico.Viagens = viagens;

            Departamento departamento = new Setor("Barra dor");
            CentroDeCusto centroDeCusto = new CentroDeCusto("centroDeCusto");
            departamento.AdicionarCentroDeCusto(centroDeCusto);

            var orcamento = new OrcamentoDeViagem(departamento, centroDeCusto, 2014);

            var orcamentosLista = new List<Orcamento.Domain.Orcamento>();
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(orcamento);
            servico.DeletarOrcamento(orcamento, orcamentosLista, departamento);

            Assert.IsTrue(orcamentosLista.FirstOrDefault().NomeOrcamento == "Versão1");
        }
        public void DeletarOrcamentoComDezOrcamentosNaListaDeveRetornarNomesDosORcamentosComSequenciaCerta()
        {
            ServicoOrcamentoDeViagens servico = new ServicoOrcamentoDeViagens();

            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();

            var diarias = MockRepository.GenerateMock<IDiarias>();
            diarias.Expect(c => c.Todos()).Return(new List<Diaria>());

            var viagens = MockRepository.GenerateMock<IViagens>();
            viagens.Expect(c => c.Todos()).Return(new List<Viagem>());

            servico.Orcamentos = orcamentos;
            servico.Diarias = diarias;
            servico.Viagens = viagens;

            Departamento departamento = new Setor("Barra dor");
            CentroDeCusto centroDeCusto = new CentroDeCusto("centroDeCusto");
            departamento.AdicionarCentroDeCusto(centroDeCusto);

            var orcamento = new OrcamentoDeViagem(departamento, centroDeCusto, 2014);

            var orcamentosLista = new List<Orcamento.Domain.Orcamento>();
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoDeViagem(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(orcamento);
            servico.DeletarOrcamento(orcamento, orcamentosLista, departamento);
            for (int i = 0; i < orcamentosLista.Count; i++)
            {
                Assert.AreEqual(orcamentosLista[i].NomeOrcamento, "Versão" + (i + 1).ToString());
            }
        }