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)); }
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); }
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); }
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); }
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); }
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); }