Esempio n. 1
0
        public void deberia_poder_obtener_las_evaluaciones_a_actualizar()
        {
            Alumno        alumno  = TestObjects.AlumnoDelCurso();
            Curso         curso   = TestObjects.UnCursoConAlumnos();
            List <Alumno> alumnos = curso.Alumnos();
            List <Curso>  cursos  = new List <Curso>();

            cursos.Add(curso);
            Expect.AtLeastOnce.On(TestObjects.RepoAlumnosMockeado()).Method("GetAlumnos").WithAnyArguments().Will(Return.Value(alumnos));
            Expect.AtLeastOnce.On(TestObjects.RepoCursosMockeado()).Method("GetCursos").WithAnyArguments().Will(Return.Value(cursos));
            Expect.AtLeastOnce.On(TestObjects.RepoAlumnosMockeado()).Method("GetAlumnoByDNI").WithAnyArguments().Will(Return.Value(alumno));
            Expect.AtLeastOnce.On(TestObjects.RepoCursosMockeado()).Method("GetCursoById").WithAnyArguments().Will(Return.Value(curso));

            string source = @"  |id     |idInstanciaEvaluacion  |DescripcionInstanciaEvaluacion |idAlumno   |idCurso   |Calificacion    |idUsuario     |fechaEvaluacion                              
                                |1      |14                     |Primer Parcial                 |281941     |14        |A1              |6	            |2012-10-13 21:36:35.077     
                                |2      |14                     |Primer Parcial                 |284165     |14        |A2              |6	            |2012-10-13 21:36:35.077      
                                |3      |14                     |Primer Parcial                 |287872     |14        |A3              |7	            |2012-10-13 21:36:35.077  "    ;

            IConexionBD conexion     = TestObjects.ConexionMockeada();
            var         resultado_sp = TablaDeDatos.From(source);

            Expect.AtLeastOnce.On(conexion).Method("Ejecutar").WithAnyArguments().Will(Return.Value(resultado_sp));

            RepositorioDeEvaluacion repo = new RepositorioDeEvaluacion(conexion, TestObjects.RepoCursosMockeado(), TestObjects.RepoAlumnosMockeado());

            List <Evaluacion> evaluaciones_antiguas = repo.GetEvaluaciones();

            //Hice una nueva lista de Evaluaciones xq si cambiaba de la lista original tb cambiaba a la lista nueva
            List <Evaluacion> evaluaciones_nuevas = TestObjects.Evaluaciones();

            evaluaciones_nuevas.First().CambiarCalificacionPor(new CalificacionNoNumerica("A8"), new DateTime(2013, 07, 25));

            var eval_cambiadas = new ComparadorDeDiferencias().EvaluacionesParaActualizar(evaluaciones_antiguas, evaluaciones_nuevas);

            //El Except no funcionaba xq comparaba la igualdad de cada uno de los campos dentro del objeto, y por ejemplo la fecha era la misma pero no la consideraba igual
            //List<Evaluacion> diferencias = evaluaciones_antiguas.Except(evaluaciones_nuevas).ToList();

            Assert.AreEqual(3, repo.GetEvaluacionesPorCurso(curso).Count);
            Assert.AreEqual(1, eval_cambiadas.Count);

            evaluaciones_nuevas.Last().Fecha = new DateTime(2013, 08, 01);
            eval_cambiadas = new ComparadorDeDiferencias().EvaluacionesParaActualizar(evaluaciones_antiguas, evaluaciones_nuevas);

            Assert.AreEqual(2, eval_cambiadas.Count);
        }
Esempio n. 2
0
        public void deberia_poder_obtener_las_observaciones_a_actualizar_y_guardar_las_nuevas()
        {
            string source = @"    |id    |FechaCarga                  |Relacion          |PersonaCarga    |Pertenece      |Asunto     |ReferenteMDS   |Seguimiento    |Resultado          |FechaDelResultado          |ReferenteRtaMDS    |idBaja  
                                    |01    |2012-10-13 00:00:00.077     |Fines CENS        |Mariano         |MDS            |Cursada    |Mariano        |Lala           |Sasa               |2012-10-13 00:00:00.077    |Elena              |1    
                                    |02    |2012-10-13 00:00:00.077     |Fines Puro        |Leonardo        |MDS            |Cursada    |Mariano        |Lala           |Sasa               |2012-10-13 00:00:00.077    |Elena              |2    
                                    |03    |2012-10-13 00:00:00.077     |Fines CENS        |Cholo           |MDS            |Libre      |Mariano        |Lala           |Sasa               |2012-10-13 00:00:00.077    |Elena              |1";

            IConexionBD             conexion   = TestObjects.ConexionMockeada();
            ComparadorDeDiferencias comparador = new ComparadorDeDiferencias();

            var resultado_sp = TablaDeDatos.From(source);
            List <Observacion> observaciones = new List <Observacion>();
            var repo = new RepositorioDeCursos(conexion);

            Expect.AtLeastOnce.On(conexion).Method("Ejecutar").WithAnyArguments().Will(Return.Value(resultado_sp));

            List <Observacion> observaciones_antiguas = repo.GetObservaciones();

            //Hice una nueva lista de Evaluaciones xq si cambiaba de la lista original tb cambiaba a la lista nueva
            List <Observacion> observaciones_nuevas = TestObjects.Observaciones();

            observaciones_nuevas.First().Asunto = "cambio el asunto";

            var obser_cambiadas = comparador.ObservacionesParaActualizar(observaciones_antiguas, observaciones_nuevas);
            var obser_a_agregar = comparador.ObservacionesParaGuardar(observaciones_antiguas, observaciones_nuevas);

            Assert.AreEqual(1, obser_cambiadas.Count);
            Assert.AreEqual(1, obser_a_agregar.Count);

            observaciones_nuevas.Find(o => o.Id.Equals(2)).FechaCarga = new DateTime(2013, 08, 01);
            obser_cambiadas = comparador.ObservacionesParaActualizar(observaciones_antiguas, observaciones_nuevas);

            Assert.AreEqual(2, obser_cambiadas.Count);


            //PRUEBO BORRAR OBSERVACIONES
            observaciones_nuevas.RemoveAt(0);

            var obser_a_borrar = comparador.ObservacionesParaDarDeBajaSinInsertarOtra(observaciones_antiguas, observaciones_nuevas);

            Assert.AreEqual(1, obser_a_borrar.Count);
        }
Esempio n. 3
0
        public void deberia_poder_borrar_una_evaluacion_que_ya_estaba()
        {
            Alumno        alumno  = TestObjects.AlumnoDelCurso();
            Curso         curso   = TestObjects.UnCursoConAlumnos();
            List <Alumno> alumnos = curso.Alumnos();
            List <Curso>  cursos  = new List <Curso>();

            cursos.Add(curso);
            Expect.AtLeastOnce.On(TestObjects.RepoAlumnosMockeado()).Method("GetAlumnos").WithAnyArguments().Will(Return.Value(alumnos));
            Expect.AtLeastOnce.On(TestObjects.RepoCursosMockeado()).Method("GetCursos").WithAnyArguments().Will(Return.Value(cursos));
            Expect.AtLeastOnce.On(TestObjects.RepoAlumnosMockeado()).Method("GetAlumnoByDNI").WithAnyArguments().Will(Return.Value(alumno));
            Expect.AtLeastOnce.On(TestObjects.RepoCursosMockeado()).Method("GetCursoById").WithAnyArguments().Will(Return.Value(curso));

            string source = @"  |id     |idInstanciaEvaluacion  |DescripcionInstanciaEvaluacion |idAlumno   |idCurso   |Calificacion    |idUsuario     |fechaEvaluacion                              
                                |1      |14                     |Primer Parcial                 |281941     |14        |A1              |6	            |2012-10-13 21:36:35.077     
                                |2      |14                     |Primer Parcial                 |284165     |14        |A2              |6	            |2012-10-13 21:36:35.077      
                                |3      |14                     |Primer Parcial                 |287872     |14        |A3              |7	            |2012-10-13 21:36:35.077  "    ;

            IConexionBD conexion     = TestObjects.ConexionMockeada();
            var         resultado_sp = TablaDeDatos.From(source);

            Expect.AtLeastOnce.On(conexion).Method("Ejecutar").WithAnyArguments().Will(Return.Value(resultado_sp));

            RepositorioDeEvaluacion repo = new RepositorioDeEvaluacion(conexion, TestObjects.RepoCursosMockeado(), TestObjects.RepoAlumnosMockeado());

            List <Evaluacion> evaluaciones_antiguas = repo.GetEvaluaciones();

            List <Evaluacion> evaluaciones_nuevas = TestObjects.Evaluaciones();

            evaluaciones_nuevas.Last().CambiarCalificacionPor(new CalificacionNoNumerica("A8"), new DateTime(2013, 07, 25));

            evaluaciones_nuevas.RemoveAt(0);

            var eval_a_borrar       = new ComparadorDeDiferencias().EvaluacionesParaDarDeBajaSinInsertarOtra(evaluaciones_antiguas, evaluaciones_nuevas);
            var eval_para_historico = new ComparadorDeDiferencias().EvaluacionesParaDarDeBaja(evaluaciones_antiguas, evaluaciones_nuevas);

            Assert.AreEqual(1, eval_a_borrar.Count);
            Assert.AreEqual(2, eval_para_historico.Count);
        }