Пример #1
0
 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");
 }
Пример #2
0
        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");
        }
Пример #3
0
        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");
        }
Пример #4
0
        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");
        }
Пример #5
0
 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;
 }
Пример #6
0
 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;
 }
Пример #7
0
        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");
        }
Пример #8
0
 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");
 }
Пример #9
0
 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");
 }