public void addTest() { Padre p = new Padre("Juan"); Madre m = new Madre("Lola"); m.Esposo = p; Hijo h = new Hijo("Pedro"); m.add(h); Assert.IsTrue(m.Hijos.Contains(h), "No ha sido agregado el hijo"); Assert.AreEqual(h.Padre, p, "No se ha asignado el padre al hijo"); Assert.AreEqual(h.Madre, m, "No se ha asignado la madre al hijo"); }
public void divorcioNormalTest() { Padre p = new Padre("Paco"); Madre m = new Madre("Lola"); Hijo hijo = new Hijo("Juanito"); m.Esposo = p; m.add(hijo); m.Esposo = null; Assert.IsNull(p.Esposa, "No se han divorciado correctamente"); Assert.AreEqual(p.find(hijo.Nombre), hijo, "No se ha mantenido el hijo al padre"); Assert.IsNull(m.Esposo, "No se han divorciado correctamente"); Assert.IsNull(m.find(hijo.Nombre), "No se ha eliminado el hijo correctamente a la madre"); Assert.AreEqual(hijo.Padre, p, "Se ha eliminado el padre al hijo"); Assert.IsNull(hijo.Madre, "No se ha eliminado la madre al hijo"); }
public void divorcioTormentosoTest() { Madre m = new Madre("Lola"); Padre p1 = new Padre("Juan"); Padre p2 = new Padre("Paco"); Hijo h1 = new Hijo("Carlitos"); Hijo h2 = new Hijo("Oscar"); m.Esposo = p1; m.add(h1); m.add(h2); m.Esposo = p2; Assert.AreEqual(p1.Esposa, null, "No se ha divorciado de Lola"); Assert.AreEqual(p2.Esposa, m, "No se ha realizado el segundo matrimonio"); Assert.AreEqual(m.Esposo, p2, "No se ha realizado el segundo matrimonio"); Assert.IsNull(m.find(h1.Nombre), "No se ha eliminado el hijo correctamente"); Assert.IsNull(m.find(h2.Nombre), "No se ha eliminado el hijo correctamente"); Assert.AreEqual(p1.find(h1.Nombre), h1, "No se ha mantenido el hijo al padre"); Assert.AreEqual(p1.find(h2.Nombre), h2, "No se ha mantenido el hijo al padre"); Assert.AreEqual(h1.Padre, p1, "Se ha eliminado el padre al hijo"); Assert.AreEqual(h2.Padre, p1, "Se ha eliminado el padre al hijo"); Assert.IsNull(h1.Madre, "No se ha eliminado la madre al hijo"); Assert.IsNull(h2.Madre, "No se ha eliminado la madre al hijo"); }
public void divorcioTormentosoTest() { Padre p = new Padre("Paco"); Madre m1 = new Madre("Lola"); Madre m2 = new Madre("Juana"); Hijo h1 = new Hijo("Carlitos"); Hijo h2 = new Hijo("Oscar"); p.Esposa = m1; p.add(h1); p.add(h2); p.Esposa = m2; Assert.AreEqual(m1.Esposo, null, "No se ha divorciado de Paco"); Assert.AreEqual(m2.Esposo, p, "No se ha realizado el segundo matrimonio"); Assert.AreEqual(p.Esposa, m2, "No se ha realizado el segundo matrimonio"); Assert.IsNull(p.find(h1.Nombre), "No se ha eliminado el hijo correctamente"); Assert.IsNull(p.find(h2.Nombre), "No se ha eliminado el hijo correctamente"); Assert.AreEqual(m1.find(h1.Nombre), h1, "No se ha mantenido el hijo a la madre"); Assert.AreEqual(m1.find(h2.Nombre), h2, "No se ha mantenido el hijo a la madre"); Assert.AreEqual(h1.Madre, m1, "Se ha eliminado la madre al hijo"); Assert.AreEqual(h2.Madre, m1, "Se ha eliminado la madre al hijo"); Assert.IsNull(h1.Padre, "No se ha eliminado el padre al hijo"); Assert.IsNull(h2.Padre, "No se ha eliminado el padre al hijo"); }
public Hijo find(String nombre) { Hijo aux = new Hijo(nombre); Hijo resultado = null; foreach (Hijo h in Hijos) { if (h.Equals(aux)) { resultado = h; } } return resultado; }
public bool add(Hijo hijo) { bool resultado = false; if (esposo != null && find(hijo.Nombre) == null) { //Si está casado y el hijo no existe resultado = Hijos.Add(hijo); attach(hijo); esposo.add(hijo); notify(); } //if return resultado; }
public void matrimonioNormalConHijosTest() { Madre m = new Madre("Paco"); Madre m1 = new Madre("Pepe"); Padre p = new Padre("Lola"); Padre p1 = new Padre("Juana"); Hijo h1 = new Hijo("Carlitos"); Hijo h2 = new Hijo("Oscar"); m.Esposo = p; m.add(h1); m.add(h2); p.Esposa = m1; m.Esposo = p1; Assert.IsNull(p.find(h1.Nombre), "No se ha eliminado el hijo correctamente"); Assert.IsNull(p.find(h2.Nombre), "No se ha eliminado el hijo correctamente"); Assert.AreEqual(m.find(h1.Nombre), h1, "No se ha mantenido el hijo a la madre"); Assert.AreEqual(m.find(h2.Nombre), h2, "No se ha mantenido el hijo a la madre"); Assert.AreEqual(p1.find(h1.Nombre), h1, "No se ha anadido el hijo al nuevo padre"); Assert.AreEqual(p1.find(h2.Nombre), h2, "No se ha anadido el hijo al nuevo padre"); Assert.AreEqual(h1.Padre, p1, "No se ha anadido el padre al hijo"); Assert.AreEqual(h2.Padre, p1, "No se ha anadido el padre al hijo"); Assert.AreEqual(h1.Madre, m, "Se ha eliminado la madre al hijo"); Assert.AreEqual(h2.Madre, m, "Se ha eliminado la madre al hijo"); }
public void findTest() { Padre p = new Padre("Juan"); Madre m = new Madre("Lola"); m.Esposo = p; Hijo h = new Hijo("Pedro"); m.add(h); Assert.AreEqual(m.find(h.Nombre), h, "No se encuentra el hijo"); }
public void removeTest() { Padre p = new Padre("Juan"); Madre m = new Madre("Lola"); m.Esposo = p; Hijo h = new Hijo("Pedro"); m.add(h); m.remove(h.Nombre); Assert.IsNull(m.find(h.Nombre), "No ha sido eliminado el hijo"); Assert.AreEqual(h.Padre, p, "Se ha eliminado el padre al hijo"); Assert.IsNull(h.Madre, "No se ha eliminado la madre al hijo"); }