コード例 #1
0
        public void Test_Efi_13132()
        {
            /*
             * Quando esse calendario é usado, o framework não faz a busca da data mais proxima, pois os campos são ambos inteiros;
             * Para corrigir foi criada uma propriedade booleana que verifica se a data é permitida ou não
             */

            //tentar cadastrar o dia 30/02
            Calendario calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                               CsCalendarioDomain.Folga, 30, CsMesDomain.Fevereiro);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 "PlanCalendarioCoorp_NbDia_Validacao", DefaultContexts.Save));

            //tentar -3/11
            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Folga, -3, CsMesDomain.Novembro);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 "PlanCalendarioCoorp_NbDia_Validacao", DefaultContexts.Save));

            //tentar 31/09 - data inválida
            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Folga, 31, CsMesDomain.Setembro);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 "PlanCalendarioCoorp_NbDia_Validacao", DefaultContexts.Save));

            //data válida - 29/01
            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Trabalho, 29, CsMesDomain.Janeiro);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               "PlanCalendarioCoorp_NbDia_Validacao", DefaultContexts.Save));
        }
コード例 #2
0
        public void IncluirFolgaAlteraFinalDoProjeto()
        {
            Projeto projeto = ProjetoFactory.Criar(SessionTest, 300, "", true);

            projeto.DtInicioPlan           = new DateTime(2011, 09, 1);
            projeto.DtTerminoPlan          = new DateTime(2011, 09, 30);
            projeto.NbCicloTotalPlan       = 2;
            projeto.NbCicloDuracaoDiasPlan = 10;
            projeto.NbCicloDiasIntervalo   = 1;
            projeto.Save();
            Calendario calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                               CsCalendarioDomain.Folga, 13, CsMesDomain.Setembro);

            calendario.Save();

            Assert.AreEqual(new DateTime(2011, 09, 30), projeto._DtTerminoReal, "A data de termino deveria ser 30/09/2011 ");
        }
コード例 #3
0
        public void VerificaFeriadoDia()
        {
            Calendario calendario01 = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                                 CsCalendarioDomain.Folga, 13, CsMesDomain.Setembro);

            calendario01.Save();

            Calendario calendario02 = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                                 CsCalendarioDomain.Trabalho, 14, CsMesDomain.Setembro);

            calendario02.Save();

            Assert.IsTrue(Calendario.GetFeriadoCalendario(SessionTest, new DateTime(2011, 09, 13)), "Feriado verificado");

            Assert.IsFalse(Calendario.GetFeriadoCalendario(SessionTest, new DateTime(2011, 09, 14)), "Trabalho verificado");

            Assert.IsFalse(Calendario.GetFeriadoCalendario(SessionTest, new DateTime(2011, 09, 17)), "Trabalho verificado");
        }
コード例 #4
0
        public void Test_eFi_Crono34()
        {
            CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                        new DateTime(2010, 11, 15), new DateTime(2010, 11, 20), true);

            Calendario calendario02 = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                                  CsCalendarioDomain.Folga, new DateTime(2010, 11, 10), new DateTime(2010, 11, 14));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario02,
                                                                               "CalendarioConflitante", DefaultContexts.Save));

            Calendario calendario03 = CalendarioFactory.CriarCalendarioPorPeriodo(
                SessionTest, CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 21),
                new DateTime(2010, 11, 22));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario03,
                                                                               "CalendarioConflitante", DefaultContexts.Save));
        }
コード例 #5
0
        public void Test_eFi_Crono35()
        {
            const string RESTRICAO = "CalendarioConflitante";

            Calendario calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                                                new DateTime(2010, 11, 15), new DateTime(2010, 11, 20));

            calendario.CsSituacao = CsSituacaoDomain.Inativo;
            calendario.Save();

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Folga, new DateTime(2010, 11, 15), new DateTime(2010, 11, 16));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 20), new DateTime(2010, 11, 25));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 16), new DateTime(2010, 11, 19));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 14), new DateTime(2010, 11, 21));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 15), new DateTime(2010, 11, 20));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));
        }
コード例 #6
0
        public void Test_eFi_Crono33()
        {
            const string RESTRICAO = "CalendarioConflitante";

            CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest, CsCalendarioDomain.Folga,
                                                        new DateTime(2010, 11, 15), new DateTime(2010, 11, 20), true);

            /**
             * Cenário1:
             * Serão criados calendários conflitantes por período.
             * O sistema deve rejeitá-los.
             */

            Calendario calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                                CsCalendarioDomain.Folga, new DateTime(2010, 11, 15), new DateTime(2010, 11, 16));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 20), new DateTime(2010, 11, 25));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 16), new DateTime(2010, 11, 19));

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário2:
             * Será criado um calendário por dia do ano específico, conflitando
             * com um calendário de período existente. O sistema deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 20, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário3:
             * Será criado um calendário por dia do ano específico, não
             * conflitante com o calendário de período existente mas conflitante
             * com um calendario para um dia especifico. O sistema
             * deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 21, CsMesDomain.Novembro, 2010, true);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));


            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 21, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário4:
             * - Será criado um calendário por dia e mês, não conflitante com os
             *   calendários existentes. O sistema deve aceitar.
             * - Em seguida, será criado um outro calendário por dia e mês conflitante.
             *   O sistema deve rejeitar.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario.Save();

            calendario = CalendarioFactory.CriarCalendarioPorDiaMes(SessionTest,
                                                                    CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro);

            Assert.AreEqual(ValidationState.Invalid, ValidationUtil.GetRuleState(calendario,
                                                                                 RESTRICAO, DefaultContexts.Save));

            /**
             * Cenário5:
             * - Será criado um calendário por dia, mês e ano, conflitante com os
             *   calendários por dia e mês existente. O sistema deve aceitar pois dará
             *   prioridade ao calendário por dia mês e ano.
             */

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Trabalho, 23, CsMesDomain.Novembro, 2010);

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));

            calendario = CalendarioFactory.CriarCalendarioPorPeriodo(SessionTest,
                                                                     CsCalendarioDomain.Trabalho, new DateTime(2010, 11, 23), new DateTime(2010, 11, 23));

            Assert.AreEqual(ValidationState.Valid, ValidationUtil.GetRuleState(calendario,
                                                                               RESTRICAO, DefaultContexts.Save));
        }
コード例 #7
0
        public void TestarAlterarAsConfiguracoesDoCicloDeDesenvolvimentoDeUmProjeto()
        {
            /**
             * Cenário 4: Será criado um projeto com uma parte interessada
             * Comentários a seguir
             */

            Projeto projetoA = ProjetoFactory.Criar(SessionTest, 100, "", false);

            //Passo 1

            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 5;
            projetoA.NbCicloDuracaoDiasPlan = 10;
            projetoA.NbCicloDiasIntervalo   = 1;
            projetoA.Save();

            Assert.AreEqual(new DateTime(2011, 07, 07), projetoA._DtTerminoReal, "A data de termino deveria ser 07/07/2011");

            //Passo 2

            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 6;
            projetoA.NbCicloDuracaoDiasPlan = 10;
            projetoA.NbCicloDiasIntervalo   = 1;
            projetoA.Save();

            Assert.AreEqual(new DateTime(2011, 07, 22), projetoA._DtTerminoReal, "A data de termino deveria ser 22/07/2011");

            //Passo 3

            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 6;
            projetoA.NbCicloDuracaoDiasPlan = 20;
            projetoA.NbCicloDiasIntervalo   = 1;
            projetoA.Save();

            Assert.AreEqual(new DateTime(2011, 10, 14), projetoA._DtTerminoReal, "A data de termino deveria ser 14/10/2011");

            //Passo 4

            Calendario calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                                  CsCalendarioDomain.Trabalho, 01, CsMesDomain.Maio, 2011, true);

            //projetoA._AlteradoCiclo = true;
            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 6;
            projetoA.NbCicloDuracaoDiasPlan = 20;
            projetoA.NbCicloDiasIntervalo   = 1;

            projetoA.Save();


            Assert.AreEqual(new DateTime(2011, 10, 13), projetoA._DtTerminoReal, "A data de termino deveria ser 13/10/2011");

            //Passo 5

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Folga, 02, CsMesDomain.Maio, 2011, true);

            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 6;
            projetoA.NbCicloDuracaoDiasPlan = 20;
            projetoA.NbCicloDiasIntervalo   = 1;
            //projetoA._AlteradoCiclo = true;
            projetoA.Save();

            Assert.AreEqual(new DateTime(2011, 10, 14), projetoA._DtTerminoReal, "A data de termino deveria ser 14/10/2011 ");

            //Passo 6
            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.NbCicloTotalPlan       = 4;
            projetoA.NbCicloDuracaoDiasPlan = 20;
            projetoA.NbCicloDiasIntervalo   = 1;
            projetoA.Save();

            Assert.AreEqual(new DateTime(2011, 08, 17), projetoA._DtTerminoReal, "A data de termino deveria ser 18/18/2011");
        }
コード例 #8
0
        public void TestarSalvarUmProjetoParaCriarOuAtualizarOsCiclosDeDesenvolvimento()
        {
            /**
             * Cenário 6: Será criado um projetoA.
             * Serão criados ciclos automaticamente quando os ciclos do projeto forem calculados
             */

            Projeto     projetoA     = ProjetoFactory.Criar(SessionTest, 30, "", false);
            Modulo      moduloA      = ModuloFactory.Criar(SessionTest, projetoA, "", false);
            Beneficiado beneficiadoA = BeneficiadoFactory.Criar(SessionTest, "", true);
            Estoria     estoriaA     = EstoriaFactory.Criar(SessionTest, moduloA, "", "", "", beneficiadoA, "", "", "", true);

            // CicloDesenv ciclo01 = CicloFactory.Criar(SessionTest, projetoA, "", false);

            //Passo 1

            projetoA.DtInicioPlan           = new DateTime(2011, 04, 25);
            projetoA.DtInicioReal           = new DateTime(2011, 04, 25);
            projetoA.DtTerminoPlan          = new DateTime(2011, 05, 31);
            projetoA.NbCicloTotalPlan       = 5;
            projetoA.NbCicloDuracaoDiasPlan = 10;
            projetoA.NbCicloDiasIntervalo   = 1;

            projetoA.Save();

            Assert.AreEqual(1, projetoA.Ciclos[0].NbCiclo, "O ciclo deveria ser 1");
            Assert.AreEqual(new DateTime(2011, 04, 25), projetoA.Ciclos[0].DtInicio, "O valor de inicio deveria ser 25/04/2011");
            Assert.AreEqual(new DateTime(2011, 05, 06), projetoA.Ciclos[0].DtTermino, "O valor de término deveria ser 06/05/2011");

            Assert.AreEqual(2, projetoA.Ciclos[1].NbCiclo, "O ciclo deveria ser 2");
            Assert.AreEqual(new DateTime(2011, 05, 10), projetoA.Ciclos[1].DtInicio, "O valor de inicio deveria ser 10/05/2011");
            Assert.AreEqual(new DateTime(2011, 05, 23), projetoA.Ciclos[1].DtTermino, "O valor de término deveria ser 23/05/2011");

            Assert.AreEqual(3, projetoA.Ciclos[2].NbCiclo, "O ciclo deveria ser 3");
            Assert.AreEqual(new DateTime(2011, 05, 25), projetoA.Ciclos[2].DtInicio, "O valor de inicio deveria ser 25/05/2011");
            Assert.AreEqual(new DateTime(2011, 06, 07), projetoA.Ciclos[2].DtTermino, "O valor de término deveria ser 07/06/2011");

            Assert.AreEqual(4, projetoA.Ciclos[3].NbCiclo, "O ciclo deveria ser 4");
            Assert.AreEqual(new DateTime(2011, 06, 09), projetoA.Ciclos[3].DtInicio, "O valor de inicio deveria ser 09/06/2011");
            Assert.AreEqual(new DateTime(2011, 06, 22), projetoA.Ciclos[3].DtTermino, "O valor de término deveria ser 22/06/2011");

            Assert.AreEqual(5, projetoA.Ciclos[4].NbCiclo, "O ciclo deveria ser 5");
            Assert.AreEqual(new DateTime(2011, 06, 24), projetoA.Ciclos[4].DtInicio, "O valor de inicio deveria ser 24/06/2011");
            Assert.AreEqual(new DateTime(2011, 07, 07), projetoA.Ciclos[4].DtTermino, "O valor de término deveria ser 07/07/2011");

            //Passo 2

            projetoA.NbCicloTotalPlan = 6;
            projetoA.Save();

            Assert.AreEqual(6, projetoA.Ciclos[5].NbCiclo, "O ciclo deveria ser 6");
            Assert.AreEqual(new DateTime(2011, 07, 11), projetoA.Ciclos[5].DtInicio, "O valor de inicio deveria ser 11/07/2011");
            Assert.AreEqual(new DateTime(2011, 07, 22), projetoA.Ciclos[5].DtTermino, "O valor de término deveria ser 22/07/2011");


            //Passo 3

            projetoA.NbCicloDuracaoDiasPlan = 20;
            projetoA.Save();

            Assert.AreEqual(1, projetoA.Ciclos[0].NbCiclo, "O ciclo deveria ser 1");
            Assert.AreEqual(new DateTime(2011, 04, 25), projetoA.Ciclos[0].DtInicio, "O valor de inicio deveria ser 25/04/2011");
            Assert.AreEqual(new DateTime(2011, 05, 20), projetoA.Ciclos[0].DtTermino, "O valor de término deveria ser 20/05/2011");

            Assert.AreEqual(2, projetoA.Ciclos[1].NbCiclo, "O ciclo deveria ser 2");
            Assert.AreEqual(new DateTime(2011, 05, 24), projetoA.Ciclos[1].DtInicio, "O valor de inicio deveria ser 24/05/2011");
            Assert.AreEqual(new DateTime(2011, 06, 20), projetoA.Ciclos[1].DtTermino, "O valor de término deveria ser 20/06/2011");

            Assert.AreEqual(3, projetoA.Ciclos[2].NbCiclo, "O ciclo deveria ser 3");
            Assert.AreEqual(new DateTime(2011, 06, 22), projetoA.Ciclos[2].DtInicio, "O valor de inicio deveria ser 22/06/2011");
            Assert.AreEqual(new DateTime(2011, 07, 19), projetoA.Ciclos[2].DtTermino, "O valor de término deveria ser 19/07/2011");

            Assert.AreEqual(4, projetoA.Ciclos[3].NbCiclo, "O ciclo deveria ser 4");
            Assert.AreEqual(new DateTime(2011, 07, 21), projetoA.Ciclos[3].DtInicio, "O valor de inicio deveria ser 21/07/2011");
            Assert.AreEqual(new DateTime(2011, 08, 17), projetoA.Ciclos[3].DtTermino, "O valor de término deveria ser 17/08/2011");

            Assert.AreEqual(5, projetoA.Ciclos[4].NbCiclo, "O ciclo deveria ser 5");
            Assert.AreEqual(new DateTime(2011, 08, 19), projetoA.Ciclos[4].DtInicio, "O valor de inicio deveria ser 19/08/2011");
            Assert.AreEqual(new DateTime(2011, 09, 15), projetoA.Ciclos[4].DtTermino, "O valor de término deveria ser 15/09/2011");

            Assert.AreEqual(6, projetoA.Ciclos[5].NbCiclo, "O ciclo deveria ser 6");
            Assert.AreEqual(new DateTime(2011, 09, 19), projetoA.Ciclos[5].DtInicio, "O valor de inicio deveria ser 19/09/2011");
            Assert.AreEqual(new DateTime(2011, 10, 14), projetoA.Ciclos[5].DtTermino, "O valor de término deveria ser 14/10/2011");

            //Passo 4

            Calendario calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                                  CsCalendarioDomain.Trabalho, 01, CsMesDomain.Maio, 2011, true);

            //projetoA._AlteradoCiclo = true;
            projetoA.Save();

            Assert.AreEqual(1, projetoA.Ciclos[0].NbCiclo, "O ciclo deveria ser 1");
            Assert.AreEqual(new DateTime(2011, 04, 25), projetoA.Ciclos[0].DtInicio, "O valor de inicio deveria ser 25/04/2011");
            Assert.AreEqual(new DateTime(2011, 05, 19), projetoA.Ciclos[0].DtTermino, "O valor de término deveria ser 19/05/2011");

            Assert.AreEqual(2, projetoA.Ciclos[1].NbCiclo, "O ciclo deveria ser 2");
            Assert.AreEqual(new DateTime(2011, 05, 23), projetoA.Ciclos[1].DtInicio, "O valor de inicio deveria ser 23/05/2011");
            Assert.AreEqual(new DateTime(2011, 06, 17), projetoA.Ciclos[1].DtTermino, "O valor de término deveria ser 17/06/2011");

            Assert.AreEqual(3, projetoA.Ciclos[2].NbCiclo, "O ciclo deveria ser 3");
            Assert.AreEqual(new DateTime(2011, 06, 21), projetoA.Ciclos[2].DtInicio, "O valor de inicio deveria ser 21/06/2011");
            Assert.AreEqual(new DateTime(2011, 07, 18), projetoA.Ciclos[2].DtTermino, "O valor de término deveria ser 18/07/2011");

            Assert.AreEqual(4, projetoA.Ciclos[3].NbCiclo, "O ciclo deveria ser 4");
            Assert.AreEqual(new DateTime(2011, 07, 20), projetoA.Ciclos[3].DtInicio, "O valor de inicio deveria ser 20/07/2011");
            Assert.AreEqual(new DateTime(2011, 08, 16), projetoA.Ciclos[3].DtTermino, "O valor de término deveria ser 16/08/2011");

            Assert.AreEqual(5, projetoA.Ciclos[4].NbCiclo, "O ciclo deveria ser 5");
            Assert.AreEqual(new DateTime(2011, 08, 18), projetoA.Ciclos[4].DtInicio, "O valor de inicio deveria ser 18/08/2011");
            Assert.AreEqual(new DateTime(2011, 09, 14), projetoA.Ciclos[4].DtTermino, "O valor de término deveria ser 14/09/2011");

            Assert.AreEqual(6, projetoA.Ciclos[5].NbCiclo, "O ciclo deveria ser 6");
            Assert.AreEqual(new DateTime(2011, 09, 16), projetoA.Ciclos[5].DtInicio, "O valor de inicio deveria ser 19/09/2011");
            Assert.AreEqual(new DateTime(2011, 10, 13), projetoA.Ciclos[5].DtTermino, "O valor de término deveria ser 14/10/2011");

            //Passo 5

            calendario = CalendarioFactory.CriarCalendarioPorDiaMesAno(SessionTest,
                                                                       CsCalendarioDomain.Folga, 02, CsMesDomain.Maio, 2011, true);
            //projetoA._AlteradoCiclo = true;
            projetoA.Save();

            Assert.AreEqual(1, projetoA.Ciclos[0].NbCiclo, "O ciclo deveria ser 1");
            Assert.AreEqual(new DateTime(2011, 04, 25), projetoA.Ciclos[0].DtInicio, "O valor de inicio deveria ser 25/04/2011");
            Assert.AreEqual(new DateTime(2011, 05, 20), projetoA.Ciclos[0].DtTermino, "O valor de término deveria ser 20/05/2011");

            Assert.AreEqual(2, projetoA.Ciclos[1].NbCiclo, "O ciclo deveria ser 2");
            Assert.AreEqual(new DateTime(2011, 05, 24), projetoA.Ciclos[1].DtInicio, "O valor de inicio deveria ser 24/05/2011");
            Assert.AreEqual(new DateTime(2011, 06, 20), projetoA.Ciclos[1].DtTermino, "O valor de término deveria ser 20/06/2011");

            Assert.AreEqual(3, projetoA.Ciclos[2].NbCiclo, "O ciclo deveria ser 3");
            Assert.AreEqual(new DateTime(2011, 06, 22), projetoA.Ciclos[2].DtInicio, "O valor de inicio deveria ser 22/06/2011");
            Assert.AreEqual(new DateTime(2011, 07, 19), projetoA.Ciclos[2].DtTermino, "O valor de término deveria ser 19/07/2011");

            Assert.AreEqual(4, projetoA.Ciclos[3].NbCiclo, "O ciclo deveria ser 4");
            Assert.AreEqual(new DateTime(2011, 07, 21), projetoA.Ciclos[3].DtInicio, "O valor de inicio deveria ser 21/07/2011");
            Assert.AreEqual(new DateTime(2011, 08, 17), projetoA.Ciclos[3].DtTermino, "O valor de término deveria ser 17/08/2011");

            Assert.AreEqual(5, projetoA.Ciclos[4].NbCiclo, "O ciclo deveria ser 5");
            Assert.AreEqual(new DateTime(2011, 08, 19), projetoA.Ciclos[4].DtInicio, "O valor de inicio deveria ser 19/08/2011");
            Assert.AreEqual(new DateTime(2011, 09, 15), projetoA.Ciclos[4].DtTermino, "O valor de término deveria ser 15/09/2011");

            Assert.AreEqual(6, projetoA.Ciclos[5].NbCiclo, "O ciclo deveria ser 6");
            Assert.AreEqual(new DateTime(2011, 09, 19), projetoA.Ciclos[5].DtInicio, "O valor de inicio deveria ser 19/09/2011");
            Assert.AreEqual(new DateTime(2011, 10, 14), projetoA.Ciclos[5].DtTermino, "O valor de término deveria ser 14/10/2011");

            //Passo 6

            projetoA.NbCicloTotalPlan = 4;

            projetoA.Save();

            Assert.AreEqual(1, projetoA.Ciclos[0].NbCiclo, "O ciclo deveria ser 1");
            Assert.AreEqual(new DateTime(2011, 04, 25), projetoA.Ciclos[0].DtInicio, "O valor de inicio deveria ser 25/04/2011");
            Assert.AreEqual(new DateTime(2011, 05, 20), projetoA.Ciclos[0].DtTermino, "O valor de término deveria ser 20/05/2011");

            Assert.AreEqual(2, projetoA.Ciclos[1].NbCiclo, "O ciclo deveria ser 2");
            Assert.AreEqual(new DateTime(2011, 05, 24), projetoA.Ciclos[1].DtInicio, "O valor de inicio deveria ser 24/05/2011");
            Assert.AreEqual(new DateTime(2011, 06, 20), projetoA.Ciclos[1].DtTermino, "O valor de término deveria ser 20/06/2011");

            Assert.AreEqual(3, projetoA.Ciclos[2].NbCiclo, "O ciclo deveria ser 3");
            Assert.AreEqual(new DateTime(2011, 06, 22), projetoA.Ciclos[2].DtInicio, "O valor de inicio deveria ser 22/06/2011");
            Assert.AreEqual(new DateTime(2011, 07, 19), projetoA.Ciclos[2].DtTermino, "O valor de término deveria ser 19/07/2011");

            Assert.AreEqual(4, projetoA.Ciclos[3].NbCiclo, "O ciclo deveria ser 4");
            Assert.AreEqual(new DateTime(2011, 07, 21), projetoA.Ciclos[3].DtInicio, "O valor de inicio deveria ser 21/07/2011");
            Assert.AreEqual(new DateTime(2011, 08, 17), projetoA.Ciclos[3].DtTermino, "O valor de término deveria ser 17/08/2011");
        }