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