Example #1
0
        public void deberia_poder_saber_si_un_alumno_aprobo_un_curso()
        {
            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 
                                |4      |6                      |Calificacion Final             |281941     |14        |Aprobado        |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 = repo.GetEvaluacionesPorCursoYAlumno(curso, alumnos.First());

            Articulador articulador = new Articulador();

            Assert.AreEqual(true, articulador.DecimeSiAprobo(alumnos.First(), curso, repo));
            Assert.AreEqual(false, articulador.DecimeSiAprobo(alumnos[2], curso, repo));
            Assert.AreEqual(false, articulador.DecimeSiAprobo(alumnos.Last(), curso, repo));
        }
Example #2
0
        public void deberia_poder_obtener_la_evaluación_que_un_alumno_se_saco_en_un_curso_para_una_instancia_de_evaluacion()
        {
            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   |idAlumno |IdCurso |idInstanciaEvaluacion |DescripcionInstanciaEvaluacion   |Calificacion |fechaEvaluacion         |idUsuario |fecha                      
                               |1    |281941   |14      |01                    |Primer Parcial                   |A1           |2012-10-13 21:36:35.077 |0         |2012-10-13 21:36:35.077    
                               |2    |284165   |14      |02                    |Segundo Parcial                  |A2           |2012-10-13 21:36:35.077 |0         |2012-10-13 21:36:35.077    
                               |3    |287872   |14      |03                    |Recuperatorio Primer Parcial     |A5           |2012-10-13 21:36:35.077 |0         |2012-10-13 21:36:35.077    
                               |4    |4        |14      |04                    |Recuperatorio Segundo Parcial    |A6           |2012-10-13 21:36:35.077 |0         |2012-10-13 21:36:35.077    
                               |5    |5        |14      |05                    |Examen Final                     |A8           |2012-10-13 21:36:35.077 |0         |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());

            Assert.AreEqual("A1", repo.GetEvaluacionPorCursoAlumnoEInstancia(curso, alumno, TestObjects.PrimerParcial()).Calificacion.Descripcion);
        }
Example #3
0
        public void deberia_poder_saber_el_ciclo_que_esta_cursando_un_alumno()
        {
            var alumno      = TestObjects.AlumnoDelCurso();
            var articulador = new Articulador();
            var repo_cursos = new RepositorioDeCursos(conexionMock);
            var fer         = TestObjects.AlumnoFer();
            var cursos      = TestObjects.UnListadoDeCursoConEdificios();

            cursos.First().AgregarAlumno(fer);
            cursos.Last().AgregarAlumno(fer);

            Assert.AreEqual("Primer Ciclo", articulador.CicloDelAlumno(alumno, repo_cursos, cursos).Nombre);
        }
Example #4
0
        public void deberia_poder_saber_si_un_alumno_esta_cursando_o_no()
        {
            var alumno      = TestObjects.AlumnoDelCurso();
            var articulador = new Articulador();
            var repo_cursos = new RepositorioDeCursos(conexionMock);
            var fer         = TestObjects.AlumnoFer();
            var cursos      = TestObjects.UnListadoDeCursoConEdificios();

            cursos.First().AgregarAlumno(fer);
            cursos.Last().AgregarAlumno(fer);

            Assert.AreEqual("Cursando", articulador.EstadoDelAlumno(alumno, repo_cursos, cursos).Descripcion);
        }
Example #5
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);
        }
Example #6
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);
        }