示例#1
0
        public void NoEstaEnSubtareas()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre   = "Tarea",
                Objetivo = "Objetivo"
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre = "Tarea Compuesta"
            };

            Assert.False(tareaCompuesta.EstaEnSubtareas(tarea));
        }
示例#2
0
        public void ConvertirSimpleACompuesta(string nombre, int duracionPendiente, string fechaInicio, string fechaFin)
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = nombre,
                FechaInicio       = DateTime.Parse(fechaInicio),
                FechaFinalizacion = DateTime.Parse(fechaFin),
                DuracionPendiente = duracionPendiente
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(tarea);

            Assert.Equal(nombre, tareaCompuesta.Nombre);
            Assert.Equal(tarea.FechaInicio.Date, tareaCompuesta.FechaInicio.Date);
            Assert.Equal(0, tareaCompuesta.Subtareas.Count);
        }
示例#3
0
        public void EstaEnSubestapas()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre   = "Tarea",
                Objetivo = "Objetivo"
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre = "Tarea Compuesta"
            };

            tareaCompuesta.AgregarSubtarea(tarea);
            tareaCompuesta.MarcarFinalizada();
            Assert.True(tareaCompuesta.EstaEnSubtareas(tarea));
        }
        private static Etapa CrearEtapaConDosTareas()
        {
            TareaCompuesta sumar = CrearTareaCompuestaConOtraTareaSimple();

            TareaCompuesta imprimir = CrearTareaCompuestaConUnaTareaSimple();

            Etapa imprimeCuenta = new Etapa()
            {
                EtapaID     = 1,
                Nombre      = "Imprime una cuenta",
                FechaInicio = DateTime.Now
            };

            AgregarTareasAEtapa(sumar, imprimir, imprimeCuenta);
            return(imprimeCuenta);
        }
示例#5
0
        public void MarcarTareaFinalizadaSinTodasSubtareasFinalizadas()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre   = "Tarea",
                Objetivo = "Objetivo"
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre = "Tarea Compuesta"
            };

            tareaCompuesta.AgregarSubtarea(tarea);
            tareaCompuesta.MarcarFinalizada();
            Assert.False(tareaCompuesta.EstaFinalizada);
        }
示例#6
0
        public void EliminarTarea()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "TareaSimpleSubtarea",
                FechaInicio       = DateTime.Now,
                Prioridad         = Tarea.PRIORIDAD_MEDIA,
                FechaFinalizacion = DateTime.Now.AddDays(1),
                Descripcion       = "Descripcion",
                Objetivo          = "Objetivo",
                DuracionPendiente = 10
            };
            Tarea tareaAntecesora = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "TareaAntecesora",
                FechaInicio       = DateTime.Now.AddDays(-10),
                Prioridad         = Tarea.PRIORIDAD_MEDIA,
                FechaFinalizacion = DateTime.Now.AddDays(-9),
                Descripcion       = "Descripcion",
                Objetivo          = "Objetivo",
                DuracionPendiente = 10
            };
            TareaCompuesta tc = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "TareaCompuesta",
                FechaInicio = DateTime.Now,
                Prioridad   = Tarea.PRIORIDAD_MEDIA,
                Descripcion = "Descripcion",
                Objetivo    = "Objetivo",
            };

            tc.AgregarAntecesora(tareaAntecesora);
            tc.AgregarSubtarea(tarea);
            Persona p = new Persona()
            {
                Nombre = "Nombre",
                Rol    = "Roger"
            };

            tc.AgregarPersona(p);
            using (var db = new ContextoGestorProyectos())
            {
                int id = db.AgregarTarea(tc);
                db.EliminarTarea(id);
                Assert.DoesNotContain(tc, db.Tareas);
            }
        }
示例#7
0
        public void TareaNoEstaAtrasada(string nombre, int duracionPendiente, string fechaInicio, string fechaFin)
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = nombre,
                FechaInicio       = DateTime.Parse(fechaInicio),
                FechaFinalizacion = DateTime.Parse(fechaFin),
                DuracionPendiente = duracionPendiente
            };
            TareaCompuesta compuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Compuesta",
                FechaInicio = DateTime.Parse(fechaInicio)
            };

            compuesta.AgregarSubtarea(tarea);
            Assert.False(compuesta.EstaAtrasada);
        }
示例#8
0
        private void buttonEliminarSubtarea_Click(object sender, EventArgs e)
        {
            if (hayTareaSeleccionadaTreeView())
            {
                if (AyudanteVisual.CartelConfirmacion(crearMensajeElminacion(tareaSeleccionada()), "Eliminación"))
                {
                    TareaCompuesta tareaCompuesta    = (TareaCompuesta)tarea;
                    DateTime       fechaFinalizacion = tareaCompuesta.FechaFinalizacion;
                    int            duracionPendiente = tareaCompuesta.CalcularDuracionPendiente();
                    tareaCompuesta.EliminarSubtarea(tareaSeleccionada());

                    cambiarATareaSimpleSimple(tareaCompuesta, fechaFinalizacion, duracionPendiente);
                    tareaCompuesta.AgregarModificacion("Eliminada subtarea " + tareaSeleccionada().ToString());
                    contexto.ModificarTarea(tareaCompuesta);
                    refrescarPantalla();
                }
            }
        }
        private static TareaCompuesta CrearTareaCompuestaConOtraTareaSimple()
        {
            Tarea contar = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Cuenta numeros",
                FechaInicio       = DateTime.Now,
                FechaFinalizacion = DateTime.Now,
                DuracionPendiente = 20
            };
            TareaCompuesta sumar = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Sumar",
                FechaInicio = DateTime.Now
            };

            sumar.AgregarSubtarea(contar);
            return(sumar);
        }
        private static TareaCompuesta CrearTareaCompuestaConUnaTareaSimple()
        {
            Tarea mostrar = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Muestra resultado",
                FechaInicio       = DateTime.Now.AddDays(400),
                FechaFinalizacion = DateTime.Now.AddDays(1501),
                DuracionPendiente = 100
            };
            TareaCompuesta imprimir = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Imprime lo que muestra",
                FechaInicio = mostrar.FechaInicio
            };

            imprimir.AgregarSubtarea(mostrar);
            return(imprimir);
        }
示例#11
0
 private void cambiarATareaSimpleSimple(TareaCompuesta tareaCompuesta, DateTime fechaFinalizacion, int duracionPendiente)
 {
     if (tareaCompuesta.Subtareas.Count == 0)
     {
         tarea = new TareaSimple(contexto)
         {
             Nombre            = tarea.Nombre,
             FechaInicio       = tareaCompuesta.FechaInicio,
             FechaFinalizacion = fechaFinalizacion,
             DuracionPendiente = duracionPendiente,
             Prioridad         = tareaCompuesta.Prioridad,
             Antecesoras       = tareaCompuesta.Antecesoras,
             Descripcion       = tareaCompuesta.Descripcion,
             Objetivo          = tareaCompuesta.Objetivo,
             Personas          = tareaCompuesta.Personas
         };
     }
 }
示例#12
0
        public void DuracionPendienteConAntecesoras()
        {
            Tarea tareaPrimera = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Tarea",
                FechaFinalizacion = DateTime.Now.AddDays(1),
                FechaInicio       = DateTime.Now,
                DuracionPendiente = 3
            };
            Tarea tareaSegunda = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Tarea2",
                FechaFinalizacion = DateTime.Now.AddDays(2),
                FechaInicio       = DateTime.Now,
                DuracionPendiente = 5
            };
            Tarea tareaTercera = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Tarea",
                FechaFinalizacion = DateTime.Now.AddDays(10),
                FechaInicio       = DateTime.Now.AddDays(2),
                DuracionPendiente = 2
            };

            TareaCompuesta tareaCompuestaHija = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Tarea Compuesta hija",
                FechaInicio = tareaSegunda.FechaInicio
            };

            tareaCompuestaHija.AgregarSubtarea(tareaSegunda);

            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Tarea Compuesta",
                FechaInicio = tareaPrimera.FechaInicio
            };

            tareaTercera.AgregarAntecesora(tareaSegunda);
            tareaCompuesta.AgregarSubtarea(tareaCompuestaHija);
            tareaCompuesta.AgregarSubtarea(tareaTercera);

            Assert.Equal(7, tareaCompuesta.CalcularDuracionPendiente());
        }
        private TreeNode[] GenerarNodoArbolTareaCompuesta(TareaCompuesta tareaCompuesta)
        {
            TreeNode[] arbolNodos = new TreeNode[tareaCompuesta.Subtareas.Count];
            int        posicion   = 0;

            foreach (ITarea tarea in tareaCompuesta.Subtareas)
            {
                if (EsUnaTareaSimple(tarea))
                {
                    AgregarSubArbolTareaSimple(arbolNodos, posicion, tarea);
                }
                else
                {
                    AgregarSubArbolTareaCompleja(arbolNodos, posicion, (TareaCompuesta)tarea);
                }
                posicion++;
            }
            return(arbolNodos);
        }
示例#14
0
        public void AgregarTareaSimple(string nombre, string fechaInicio,
                                       string fechaFinalizacion)
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = nombre,
                FechaFinalizacion = DateTime.Parse(fechaFinalizacion),
                FechaInicio       = DateTime.Parse(fechaInicio)
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Tarea Compuesta",
                FechaInicio = DateTime.Parse(fechaInicio)
            };

            tareaCompuesta.AgregarSubtarea(tarea);
            Assert.NotNull(tareaCompuesta);
            Assert.True(tareaCompuesta.FechaEsIgual(tareaCompuesta.FechaFinalizacion, tarea.FechaFinalizacion));
        }
        public void MarcarEtapaComoFinalizadaUnaNoFinaliza()
        {
            Tarea tareaNoFinaliza = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre = "TareaNoFinaliza"
            };
            TareaCompuesta tarea = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre = "Tarea"
            };

            tarea.AgregarSubtarea(tareaNoFinaliza);
            tarea.MarcarFinalizada();
            IEtapa etapa = new Etapa();

            etapa.AgregarTarea(tarea);
            etapa.MarcarFinalizada();
            Assert.False(etapa.EstaFinalizada);
        }
示例#16
0
        public void AgregarTareaSimpleIniciaDespues(string nombre, string fechaInicio,
                                                    string fechaFinalizacion)
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = nombre,
                FechaFinalizacion = DateTime.Parse(fechaFinalizacion),
                FechaInicio       = DateTime.Parse(fechaInicio),
                Prioridad         = Tarea.PRIORIDAD_MEDIA
            };
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Tarea Compuesta",
                FechaInicio = DateTime.Parse(fechaFinalizacion)
            };

            Assert.Throws <FechaInvalida>(() => tareaCompuesta.AgregarSubtarea(tarea));
            Assert.False(tareaCompuesta.Subtareas.Contains(tarea));
        }
        public void ActualizarTareaCompuesta()
        {
            TareaCompuesta tarea = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Una tarea Compuesta",
                Descripcion = "Desc comp",
                Objetivo    = "Obj comp",
                FechaInicio = DateTime.Now,
                Prioridad   = Tarea.PRIORIDAD_BAJA,
            };

            using (var db = new ContextoGestorProyectos())
            {
                db.AgregarTarea(tarea);
                tarea.Subtareas.Add(new TareaSimple());
                tarea.Nombre = "Saladaaaaa";
                db.ModificarTarea(tarea);
                Assert.Equal(tarea.Nombre, db.ObtenerTarea(tarea.TareaID).Nombre);
            }
        }
示例#18
0
        public void ObtenerAbuelo()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                TareaID  = 99,
                Nombre   = "Tarea",
                Objetivo = "Objetivo",

                FechaFinalizacion = DateTime.Now.AddDays(1),
                FechaInicio       = DateTime.Now
            };
            TareaCompuesta tareaCompuestaOtra = new TareaCompuesta(new ContextoGestorProyectos())
            {
                TareaID     = 199,
                Nombre      = "Tarea Compuesta",
                FechaInicio = DateTime.Now
            };

            tareaCompuestaOtra.AgregarSubtarea(tarea);
            TareaCompuesta tareaCompuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                TareaID     = 192,
                Nombre      = "Tarea Compuesta",
                FechaInicio = DateTime.Now
            };

            tareaCompuesta.AgregarSubtarea(tareaCompuestaOtra);
            Etapa    etapa    = new Etapa();
            Proyecto proyecto = new Proyecto(new ContextoGestorProyectos())
            {
                Nombre = "proyecto de prueba"
            };

            etapa.AgregarTarea(tareaCompuesta);
            proyecto.AgregarEtapa(etapa);
            using (var db = new ContextoGestorProyectos())
            {
                db.AgregarProyecto(proyecto);
            }
            Assert.Equal(proyecto.ProyectoID, tareaCompuesta.ObtenerProyectoPadre().ProyectoID);
        }
示例#19
0
        public void EliminarSubtarea()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre            = "Tarea simple",
                FechaInicio       = DateTime.Now,
                FechaFinalizacion = DateTime.Now.AddDays(30),
                DuracionPendiente = 20
            };
            TareaCompuesta compuesta = new TareaCompuesta(new ContextoGestorProyectos())
            {
                Nombre      = "Compuesta",
                FechaInicio = DateTime.Now
            };

            compuesta.EliminarSubtarea(tarea);
            Assert.False(compuesta.Subtareas.Contains(tarea));
            compuesta.AgregarSubtarea(tarea);
            compuesta.EliminarSubtarea(tarea);
            Assert.False(compuesta.Subtareas.Contains(tarea));
        }
示例#20
0
        public void MarcarComoFinalizadaNoPuede()
        {
            Tarea tarea = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre = "Tarea simple"
            };

            Tarea tareaTerminada = new TareaSimple(new ContextoGestorProyectos())
            {
                Nombre = "Tarea simple"
            };

            tareaTerminada.MarcarFinalizada();
            TareaCompuesta tc = new TareaCompuesta()
            {
                Nombre = "Compuesta"
            };

            tc.AgregarSubtarea(tarea);
            tc.AgregarSubtarea(tareaTerminada);
            tc.MarcarFinalizada();
            Assert.False(tc.EstaFinalizada);
        }
        private void AgregarSubArbolTareaCompleja(TreeNode[] arbolNodos, int posicion, TareaCompuesta tarea)
        {
            TreeNode nodoSimple = GenerarNodoTareaCompleja(tarea);

            arbolNodos[posicion] = (nodoSimple);
        }
 private static void AgregarTareasAEtapa(TareaCompuesta sumar, TareaCompuesta imprimir, Etapa imprimeCuenta)
 {
     imprimeCuenta.AgregarTarea(imprimir);
     imprimeCuenta.AgregarTarea(sumar);
 }