Example #1
0
        public void AgregarTelefonoAAlumno_TelefonoDuplicado_TiraExcepcion()
        {
            Alumno alumno = new AlumnoLocal(Legajo.Of("123"), "Lisandro", "Martinez", new DateTime(2019, 1, 1));

            alumno.AgregarTelefono(new Telefono("011", "48603242"));
            Action act = () => alumno.AgregarTelefono(new Telefono("011", "48603242"));

            act.Should().Throw <TelefonoDuplicadoException>()
            .WithMessage("El telefono 011-48603242 ya se encuentra presente en el alumno");
        }
Example #2
0
        public void BuscarTelefonosDuplicadosEnTodosLosAlumnos()
        {
            Alumno local1 = new AlumnoLocal(Legajo.Of("123"), "Lisandro", "Martinez", new DateTime(2019, 1, 1));
            Alumno local2 = new AlumnoLocal(Legajo.Of("1233"), "Pedro", "Martinez", new DateTime(2019, 1, 1));
            Alumno local3 = new AlumnoLocal(Legajo.Of("12344"), "Juan", "Martinez", new DateTime(2019, 1, 1));

            var tel1 = Telefono.Of("011", "1234");
            var tel2 = Telefono.Of("012", "43123");

            local1.AgregarTelefono(tel1);
            local2.AgregarTelefono(tel2);
            local3.AgregarTelefono(tel1);

            List <Alumno> alumnos = new List <Alumno>();

            alumnos.Add(local1);
            alumnos.Add(local2);
            alumnos.Add(local3);

            //SOLO IMPORTA ESTO.
            //Busca en todos los telefonos de los alumnos los que tengan el mismo prefijo y numero.
            //Devuelve una lsita de los alumnos que cumplan con esa condicion.
            //Podes verificar que la lista este vacia para validarlo, si te devuelve un Count distitno de cero
            //podes usar los datos del alumno para tirar una excepcion.

            var list = alumnos.Where(alumno =>
                                     alumno.Telefonos.Any(telefono =>
                                                          telefono.Prefijo == tel1.Prefijo && telefono.Numero == tel1.Numero)).ToList();

            //

            list.Should().ContainInOrder(local1, local3).And.HaveCount(2);
        }
Example #3
0
        public void AgregarTelefonoAAlumno_TelefonoNoDuplicado_AgregaTelefonoALista()
        {
            Alumno alumno   = new AlumnoLocal(Legajo.Of("123"), "Lisandro", "Martinez", new DateTime(2019, 1, 1));
            var    telefono = new Telefono("011", "48603242");

            alumno.AgregarTelefono(telefono);
            alumno.Telefonos.Should().Contain(telefono).And.HaveCount(1);
            alumno = null;
        }
Example #4
0
        public void EliminarTelefonoNull()
        {
            Alumno alumno   = new AlumnoLocal(Legajo.Of("123"), "Lisandro", "Martinez", new DateTime(2019, 1, 1));
            var    telefono = new Telefono("011", "48603242");

            alumno.AgregarTelefono(telefono);
            alumno.Telefonos.Should().Contain(telefono).And.HaveCount(1);
            alumno = null;

            telefono.Should().BeNull();
        }