public void DeveRetornarNuloQuandoNaoHouverHistoricoCadastradoParaUmaTarefaEmDeterminadaData()
        {
            DateTime dataInicio = DateTime.Parse("05/05/2014");

            var oidTarefa           = Guid.NewGuid();
            var historicoPesquisado = TarefaHistoricoEstimativaDao.ConsultarHistoricoEstimativaPorOidTarefaEData(contexto, oidTarefa, dataInicio);

            Assert.IsNull(historicoPesquisado, "Não deveria ter retornado o objeto do histórico criado");
        }
Exemple #2
0
        public void DeveRetornarOSomatorioDeHorasPlanejadasDoCronogramaQuandoNaoHouverTarefasTest()
        {
            //TODO: MIGRAR TESTE PARA TarefaHistoricoEstimativaDao

            Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao();

            double horasPlanejadas = TarefaHistoricoEstimativaDao.ConsultarTotalHorasPlanejadasCronograma(cronograma.Oid);

            Assert.AreEqual(0, horasPlanejadas, "Deve ter 0 horas planejadas, pois não existem tarefas cadastradas.");
        }
        public void DeveDispararExceptionQuandoTentarSalvarHistoricoParaUmaTarefaQueNaoExiste()
        {
            var historicoEstimativa =
                new TarefaHistoricoEstimativaBuilder()
                .Data("05/05/2014")
                .HorasRestantes(0)
                .OidTarefa(Guid.NewGuid())
                .Criar();

            historicoEstimativa = TarefaHistoricoEstimativaDao.SalvarHistorico(historicoEstimativa);
            Assert.IsNull(historicoEstimativa, "Não deveria  criar um histórico pois não há tarefa para ser referenciada com o Oid");
        }
Exemple #4
0
        public void DeveRetornarOSomatorioDeHorasPlanejadasDoCronogramaQuandoHouverTarefasTest()
        {
            //TODO: MIGRAR TESTE PARA TarefaHistoricoEstimativaDao

            Cronograma cronograma = CronogramaBo.CriarCronogramaPadrao();

            CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "Tarefa 01", situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == CsTipoPlanejamento.Planejamento), DateTime.MinValue, "", colaboradorPadrao.Usuario.UserName, out tarefasImpactadas, ref dataAcao, "Criar método", 3);
            CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "Tarefa 02", situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == CsTipoPlanejamento.Planejamento), DateTime.MinValue, "", colaboradorPadrao.Usuario.UserName, out tarefasImpactadas, ref dataAcao, "Criar método", 3);
            CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "Tarefa 03", situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == CsTipoPlanejamento.Planejamento), DateTime.MinValue, "", colaboradorPadrao.Usuario.UserName, out tarefasImpactadas, ref dataAcao, "Criar método", 3);
            CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "Tarefa 04", situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == CsTipoPlanejamento.Planejamento), DateTime.MinValue, "", colaboradorPadrao.Usuario.UserName, out tarefasImpactadas, ref dataAcao, "Criar método", 3);
            CronogramaTarefaBo.CriarCronogramaTarefa(cronograma.Oid, "Tarefa 05", situacoesPlanejamento.FirstOrDefault(o => o.CsTipo == CsTipoPlanejamento.Planejamento), DateTime.MinValue, "", colaboradorPadrao.Usuario.UserName, out tarefasImpactadas, ref dataAcao, "Criar método", 3);

            double horasPlanejadas = TarefaHistoricoEstimativaDao.ConsultarTotalHorasPlanejadasCronograma(cronograma.Oid);

            Assert.AreEqual(15, horasPlanejadas.ToTimeSpan().Hours, "Deve ter 0 horas planejadas, pois não existem tarefas cadastradas.");
        }
        /// <summary>
        /// Método responsável por efetuar a criação de um histórico de estimativa
        /// </summary>
        /// <param name="dataHistorico">data do histórico</param>
        /// <param name="oidTarefa">oid da tarefa</param>
        /// <param name="nbHorasRestantes"></param>
        public static TarefaHistoricoEstimativa CriarHistorico(DateTime dataHistorico, Guid oidTarefa, double nbHorasRestantes)
        {
            if (oidTarefa == Guid.Empty)
            {
                throw new ArgumentException(string.Format("O oid da tarefa indicada é inválido. valor:{0}", oidTarefa));
            }

            var historicoEstimativa = new TarefaHistoricoEstimativa
            {
                DtPlanejado    = dataHistorico,
                OidTarefa      = oidTarefa,
                NbHoraRestante = nbHorasRestantes
            };

            return(TarefaHistoricoEstimativaDao.SalvarHistorico(historicoEstimativa));
        }
        public void DeveCriarUmHistoricoQuandoNaoPossuirHistoricoRestanteParaDataEspecificada()
        {
            DateTime dataInicio = DateTime.Parse("05/05/2014");

            AlterarDataInicioEDataFinalCronograma(dataInicio, DateTime.Parse("09/05/2014"));

            CronogramaTarefa cronogramaTarefa = _cronogramaTarefas.FirstOrDefault();

            const int nbHorasRestantes = 0;

            var tarefaEstimativa = new TarefaHistoricoEstimativaBuilder().Data(dataInicio).HorasRestantes(nbHorasRestantes).OidTarefa(cronogramaTarefa.OidTarefa).Criar();
            var novoHistorico    = TarefaHistoricoEstimativaDao.SalvarHistorico(tarefaEstimativa);

            Assert.IsNotNull(novoHistorico, "Deveria ter retornado o objeto do histórico criado");
            Assert.AreEqual(dataInicio.Date, novoHistorico.DtPlanejado.Date, string.Format("Deveria ter criado um histórico para a data {0}", dataInicio.Date));
            Assert.AreEqual(cronogramaTarefa.OidTarefa, novoHistorico.OidTarefa, string.Format("Deveria ter criado um histórico para a tarefa de oid {0}", cronogramaTarefa.OidTarefa));
            Assert.AreEqual(nbHorasRestantes, novoHistorico.NbHoraRestante, string.Format("Deveria ter criado um histórico para a data {0}", dataInicio.Date));
        }
Exemple #7
0
        /// <summary>
        /// Método responsável por realizar os cálculos necessários para formar o gráfico de Burndown
        /// </summary>
        /// <returns>Lista contendo os dados calculados que formam o gráfico</returns>
        public BurndownGraficoDto CalcularDadosGraficoBurndown(Guid oidCronograma)
        {
            List <BurndownDadosDto> dadosGrafico = new List <BurndownDadosDto>();

            Cronograma cronograma = CronogramaDao.ConsultarCronogramaPorOid(oidCronograma, o => o.CronogramaTarefas);

            var diasUteis = CalendarioBo.CalcularDiasUteis(cronograma.DtInicio, cronograma.DtFinal);

            double totalHorasCronograma = TarefaHistoricoEstimativaDao.ConsultarTotalHorasPlanejadasCronograma(oidCronograma);

            totalHorasCronograma = totalHorasCronograma.ToTimeSpan().TotalHours;

            double cargaDiaria    = DividirCargaHoraria(totalHorasCronograma, diasUteis.Count - 1);
            double horasRestantes = totalHorasCronograma;

            diasUteis.ForEach(data => dadosGrafico.Add(CriarDtoPlanejamentoGraficoBurndown(cargaDiaria, ref horasRestantes, data)));

            var somatorios = TarefaHistoricoEstimativaDao.ConsultarTotalHorasRealizadasCronograma(oidCronograma, cronograma.DtInicio, cronograma.DtFinal);

            if (somatorios.Count > 0)
            {
                diasUteis = diasUteis.Union(somatorios.Keys.Where(o => o.Date <= DateUtil.ConsultarDataHoraAtual().Date)).OrderBy(o => o).ToList();
                var ultimaEstimativa     = somatorios.LastOrDefault();
                var dataUltimaEstimativa = ultimaEstimativa.Key.AddDays(1);
                var somaUltimaEstimativa = ultimaEstimativa.Value;

                while (dataUltimaEstimativa.Date <= cronograma.DtFinal && dataUltimaEstimativa.Date <= DateUtil.ConsultarDataHoraAtual().Date)
                {
                    if (diasUteis.Any(o => o.Date.Equals(dataUltimaEstimativa) && o.Date <= DateUtil.ConsultarDataHoraAtual().Date))
                    {
                        somatorios.Add(dataUltimaEstimativa, somaUltimaEstimativa);
                    }
                    dataUltimaEstimativa = dataUltimaEstimativa.AddDays(1);
                }
                dadosGrafico.AddRange(CriarDtoRealizadoGraficoBurndown(somatorios));
            }
            double desvio = CalcularDesvio(dadosGrafico);

            return(new BurndownGraficoDto {
                DadosBurndown = dadosGrafico, Desvio = desvio
            });
        }
 public void DeveDispararExceptionQuandoOidTipoDoOidNaoEstiverCorreto()
 {
     TarefaHistoricoEstimativaDao.ConsultarHistoricoEstimativaPorOidTarefaEData(contexto, new Guid(), DateTime.MinValue);
 }
 public void DeveDispararExceptionQuandoContextoNulo()
 {
     TarefaHistoricoEstimativaDao.ConsultarHistoricoEstimativaPorOidTarefaEData(null, Guid.NewGuid(), DateTime.MinValue);
 }
        public void NaoDeveSalvarQuandoOHistoricoDeEstimativaForNulo()
        {
            var historicoEstimativa = TarefaHistoricoEstimativaDao.SalvarHistorico(null);

            Assert.IsNull(historicoEstimativa, "Não deveria possuir histórico de estimativa");
        }