public void OrcamentoOperacionalCriadoDeveTerSetorDiferenteDeNulo()
        {
            var setor = new Setor("TI");
            var centroDeCusto = new CentroDeCusto("Gerenciamento de Projetos");
            var RecursosExternos = new Conta("Recursos Externos", new TipoConta { Id = (int)TipoContaEnum.Outros });
            centroDeCusto.AdicionarConta(RecursosExternos);
            setor.AdicionarCentroDeCusto(centroDeCusto);

            var orcamento = new OrcamentoOperacionalVersao(setor, centroDeCusto, 2014);

            Assert.NotNull(orcamento.Setor);
        }
        public void CriarDespesasComUmCentroDeCustoComUmaContaDeveTerDespesasIguamADoze()
        {
            var setor = new Setor("TI");
            var centroDeCusto = new CentroDeCusto("Gerenciamento de Projetos");
            var RecursosExternos = new Conta("Recursos Externos", new TipoConta { Id = (int)TipoContaEnum.Outros });
            centroDeCusto.AdicionarConta(RecursosExternos);
            setor.AdicionarCentroDeCusto(centroDeCusto);

            var orcamento = new OrcamentoOperacionalVersao(setor, centroDeCusto, 2014);

            orcamento.CriarDespesas();
            Assert.IsTrue(orcamento.DespesasOperacionais.Count == 12);
        }
        public void CriarOrcamentoComSucessoComCincoOrcamentoJaCriadoDeveTeNomeOrcamentoIgualAVersaoSeis()
        {
            ServicoOrcamentoOperacionalVersao servico = new ServicoOrcamentoOperacionalVersao();
            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();
            servico.Orcamentos = orcamentos;

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

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

            Assert.AreEqual(orcamento.NomeOrcamento, "Versão6");
        }
        public void DeletarOrcamentoComDoisOrcamentosNaListaPrimeiroItemDaListaDeveTerNomeDeVersaoUm()
        {
            ServicoOrcamentoOperacionalVersao servico = new ServicoOrcamentoOperacionalVersao();
            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();
            orcamentos.Expect(o => o.Deletar(null)).IgnoreArguments();
            servico.Orcamentos = orcamentos;

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

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

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

            Assert.IsTrue(orcamentosLista.FirstOrDefault().NomeOrcamento == "Versão1");
        }
        public void DeletarOrcamentoComDoisOrcamentosNaListaDeveRetornarApenasCountUm()
        {
            ServicoOrcamentoOperacionalVersao servico = new ServicoOrcamentoOperacionalVersao();
            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();
            orcamentos.Expect(o => o.Deletar(null)).IgnoreArguments();
            servico.Orcamentos = orcamentos;

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

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

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

            Assert.IsTrue(orcamentosLista.Count == 1);
        }
        public void DeletarOrcamentoComDezOrcamentosNaListaDeveRetornarNomesDosORcamentosComSequenciaCerta()
        {
            ServicoOrcamentoOperacionalVersao servico = new ServicoOrcamentoOperacionalVersao();
            IOrcamentos orcamentos = MockRepository.GenerateMock<IOrcamentos>();
            orcamentos.Expect(o => o.Salvar(null)).IgnoreArguments();
            orcamentos.Expect(o => o.Deletar(null)).IgnoreArguments();
            servico.Orcamentos = orcamentos;

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

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

            var orcamentosLista = new List<Orcamento.Domain.Orcamento>();
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(departamento, centroDeCusto, 2014));
            orcamentosLista.Add(new OrcamentoOperacionalVersao(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());
            }
        }
        public void OrcamentoDeViagemCriadoComDuasCidadesDuasViagensEDuasDiariasDeveTerDespesasCountIgualAQuarentaEOito()
        {
            Departamento Ti = new Setor("TI");
            var gerenciamentoDeProjetos = new CentroDeCusto("Gerenciamento de Projetos");
            var recursosExternos = new Conta("RecursosExternos", new TipoConta{Id = (int)TipoContaEnum.Outros});
            var luz = new Conta("Luz", new TipoConta{Id = (int) TipoContaEnum.Outros});

            gerenciamentoDeProjetos.AdicionarConta(luz);
            gerenciamentoDeProjetos.AdicionarConta(recursosExternos);

            Ti.AdicionarCentroDeCusto(gerenciamentoDeProjetos);

            var orcamentoDeViagem = new OrcamentoDeViagem(Ti, gerenciamentoDeProjetos, 2014);
            InserirCidadesTiposTicketETicketEViagem();
            InserirDiarias();
            InserirViagens();
            InserirTipoTickets();
            InserirTickets();

            orcamentoDeViagem.CriarDespesas(Viagens, Diarias);
            Assert.IsTrue(orcamentoDeViagem.Despesas.Count == 48);
        }
        public void OrcamentoDeViagemCriadoDeveTerSetorDiferenteDeNulo()
        {
            Departamento Ti = new Setor("TI");
            var gerenciamentoDeProjetos = new CentroDeCusto("Gerenciamento de Projetos");
            var recursosExternos = new Conta("RecursosExternos", new TipoConta { Id = (int)TipoContaEnum.Outros });
            var luz = new Conta("Luz", new TipoConta { Id = (int)TipoContaEnum.Outros });

            gerenciamentoDeProjetos.AdicionarConta(luz);
            gerenciamentoDeProjetos.AdicionarConta(recursosExternos);

            Ti.AdicionarCentroDeCusto(gerenciamentoDeProjetos);

            var orcamentoDeViagem = new OrcamentoDeViagem(Ti, gerenciamentoDeProjetos, 2014);

            Assert.IsTrue(orcamentoDeViagem.Setor != null);
        }
        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 DeletarOrcamentoComDoisOrcamentosNaListaDeveRetornarApenasCountUm()
        {
            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.Count == 1);
        }