public void NaoDeveRetornarNenhumaAlteracaoRelevante()
        {
            Guid oidTarefa = Guid.NewGuid();
            CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa
            };

            CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa
            };

            var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada);

            CollectionAssert.AreEqual(new List <int>(), alteracao, "Não deveria haver alteracoes relevantes");
        }
        public void DeveValidarQuandoHouverAlteracaoRelevanteNaEstimativaRestante()
        {
            Guid oidTarefa = Guid.NewGuid();
            CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa
            };

            CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 5,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa
            };

            var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada);

            Assert.AreEqual((int)CsTipoCampoEditado.EstimativaRestante, alteracao.First(), "Deveria ter sido alterada a estimativa restante da tarefa");
        }
        public void DeveValidarQuandoHouverAlteracaoRelevanteNaEstimativaRestanteEstimativaInicialENoOidSituacaoPlanejamento()
        {
            Guid oidTarefa  = Guid.NewGuid();
            Guid oidTarefa2 = Guid.NewGuid();
            CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa
            };

            CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 2,
                NbEstimativaRestante          = 5,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = oidTarefa2
            };

            var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada);

            CollectionAssert.AreEqual(new List <int>()
            {
                (int)CsTipoCampoEditado.SituacaoPlanejamento, (int)CsTipoCampoEditado.EstimativaInicial, (int)CsTipoCampoEditado.EstimativaRestante
            }, alteracao, "Deveria ter verificado a alteração na estimativa restante e na estimativa inicial");
        }
        public void DeveValidarQuandoHouverAlteracaoRelevanteNoOidDaSituacaoPlanejamentoDaTarefa()
        {
            Func <Guid> criarNovoOid        = () => Guid.NewGuid();
            CronogramaTarefaGridItem tarefa = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = criarNovoOid()
            };

            CronogramaTarefaGridItem tarefaAlterada = new CronogramaTarefaGridItem()
            {
                CsLinhaBaseSalva              = false,
                DtAtualizadoEm                = DateTime.Now,
                NbEstimativaInicial           = 0,
                NbEstimativaRestante          = 0,
                NbRealizado                   = 0,
                OidSituacaoPlanejamentoTarefa = criarNovoOid()
            };

            var alteracao = TarefaEditada.VerificarAlteracoesRelevantes(tarefa, tarefaAlterada);

            CollectionAssert.AreEqual(new List <int>()
            {
                (int)CsTipoCampoEditado.SituacaoPlanejamento
            }, alteracao, "Deveria ter sido alterada a situação de planejamento da tarefa");
        }