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 List <Alumno> ObtenerAlumnosDeLosCursos(DateTime fecha_desde, DateTime fecha_hasta, IRepositorioDeCursos repo_curso)
        {
            List <Alumno> alumnos            = new List <Alumno>();
            List <Alumno> alumnos_respuesta  = new List <Alumno>();
            List <Curso>  cursos_del_periodo = new List <Curso>();
            Articulador   articulador        = new Articulador();


            cursos_del_periodo = repo_curso.GetCursos().FindAll(c => c.FechaInicio >= fecha_desde && fecha_hasta >= c.FechaFin);


            foreach (Curso curso in cursos_del_periodo)
            {
                alumnos.AddRange(curso.Alumnos());
            }

            alumnos_respuesta = alumnos.Distinct().ToList();

            foreach (Alumno alumno_rta in alumnos_respuesta)
            {
                Ciclo ciclo = articulador.CicloDelAlumno(alumno_rta, repo_curso, cursos_del_periodo);
                alumno_rta.CicloCursado = ciclo;
            }


            return(alumnos_respuesta);
        }
Example #3
0
        public void deberia_poder_saber_que_el_estado_de_un_alumno_para_con_un_curso_es_que_esta_aprobada()
        {
            var curso        = TestObjects.UnCursoConAlumnos();
            var evaluaciones = TestObjects.EvaluacionesParaUnAlumno();

            var articulador = new Articulador();

            Assert.AreEqual("Aprobada", articulador.EstadoDelAlumnoParaElCurso(curso, evaluaciones));
        }
Example #4
0
        public void deberia_poder_saber_que_el_estado_de_un_alumno_para_con_un_curso_es_que_esta_en_curso()
        {
            var curso        = TestObjects.CursoDeHistoriaDelCENS();
            var evaluaciones = TestObjects.EvaluacionesParaUnAlumno();

            var articulador = new Articulador();

            Assert.AreEqual("En Curso", articulador.EstadoDelAlumnoParaElCurso(curso, evaluaciones));
        }
Example #5
0
        public void deberia_poder_saber_la_calificacion_de_un_curso()
        {
            var curso        = TestObjects.CursoDeHistoriaDelCENS();
            var evaluaciones = TestObjects.EvaluacionesParaUnAlumno();

            var articulador = new Articulador();

            Assert.AreEqual("8", articulador.CalificacionDelCurso(curso, evaluaciones));
        }
Example #6
0
        public void deberia_saber_el_total_de_horas_catedra_de_un_curso()
        {
            //var repo_mock = TestObjects.RepoAsistenciasMockeado();

            //Expect.AtLeastOnce.On(repo_mock).Method("GetAsistencias").WithAnyArguments().Will(Return.Value(acumulador_asistencias));

            var articulador = new Articulador();

            Assert.AreEqual(3, articulador.TotalDeHorasCatedra(un_curso, TestObjects.DiasDeCursada()));
        }
Example #7
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 #8
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 #9
0
        public void deberia_saber_las_asistencias_de_un_alumno_por_curso()
        {
//            string source = @" |id   |FechaAsistencia                 |Valor    |IdCurso    |idAlumno
//                               |1    |2013-11-10 21:36:35.077         |'2'        |14         |281941
//                               |2    |2013-11-11 21:36:35.077         |'3'        |14         |281941
//                               |3    |2013-11-12 21:36:35.077         |'0'        |14         |281941
//                               |4    |2013-11-13 21:36:35.077         |'2'        |14         |281941
//                               |5    |2013-11-10 21:36:35.077         |'4'        |14         |287872
//                               |6    |2013-11-11 21:36:35.077         |'0'        |14         |287872           ";


//            IConexionBD conexion = TestObjects.ConexionMockeada();
//            var resultado_sp = TablaDeDatos.From(source);
//            var repo = new RepositorioDeAsistencias(conexion);

            var repo_mock = TestObjects.RepoAsistenciasMockeado();


            Expect.AtLeastOnce.On(repo_mock).Method("GetAsistencias").WithAnyArguments().Will(Return.Value(acumulador_asistencias));

            var articulador = new Articulador();

            Assert.AreEqual(4, articulador.AsistenciasParaUnAlumnoYCurso(TestObjects.AlumnoFer(), un_curso, repo_mock).Count);
        }
Example #10
0
        public Alumno GetAlumnoByDNI(int dni)
        {
            var           parametros  = new Dictionary <string, object>();
            var           articulador = new Articulador();
            List <Alumno> alumnos_dni = new List <Alumno>();

            parametros.Add("@DocumentoPersona", dni);

            var tablaDatos = conexion.Ejecutar("dbo.SACC_Get_DatosPersonales", parametros);

            List <Curso> cursos = repo_cursos.GetCursos();

            tablaDatos.Rows.ForEach(row =>
            {
                var modaldidad = new Modalidad();
                var baja       = 0;
                if (!(row.GetObject("IdModalidad") is DBNull))
                {
                    modaldidad = repo_modalidades.GetModalidadById(row.GetInt("IdModalidad"));
                }

                if (!(row.GetObject("BajaAlumno") is DBNull))
                {
                    baja       = row.GetInt("BajaAlumno");
                    modaldidad = repo_modalidades.ModalidadNull();
                }

                if (!(row.GetObject("BajaDocente") is DBNull))
                {
                    baja = row.GetInt("BajaDocente");
                }

                Area area = ConstruirAreaDeAlumno(row);
                List <Area> areas_alumno = new List <Area>();
                areas_alumno.Add(area);

                Alumno alumno = new Alumno
                {
                    Id                = row.GetInt("Id"),
                    Nombre            = row.GetString("Nombre"),
                    Apellido          = row.GetString("Apellido"),
                    Documento         = row.GetInt("Documento"),
                    Telefono          = row.GetString("Telefono"),
                    Mail              = row.GetString("Email_Personal"),
                    Direccion         = row.GetString("Direccion"),
                    FechaDeNacimiento = ObtenerFechaDeNacimiento(row),
                    FechaDeIngreso    = ObtenerFechaDeIngreso(row),
                    Areas             = areas_alumno,
                    Modalidad         = modaldidad,
                    Baja              = baja
                };



                alumnos_dni = CorteDeControlAreasDeAlumno(alumnos_dni, alumno);
            });


            alumnos_dni.First().EstadoDeAlumno = articulador.EstadoDelAlumno(alumnos_dni.First(), repo_cursos, cursos);
            alumnos_dni.First().CicloCursado   = articulador.CicloDelAlumno(alumnos_dni.First(), repo_cursos, cursos);

            return(alumnos_dni.First());
        }