public void TestListaEquals() { Lista <Persona> lista1 = new Lista <Persona>(Factoria.CrearPersonas()); Lista <Persona> lista2 = new Lista <Persona>(Factoria.CrearPersonas()); Lista <Persona> lista3 = lista1; Lista <Persona> lista4 = new Lista <Persona>(lista2); lista4.RemoveLast(); // Comprobamos que indica que 2 variables que apuntan a la misma referencia lista son iguales. Assert.IsTrue(lista1.Equals(lista3), "El método Equals() no indica que dos listas iguales lo sean."); // Comprobamos que indica que 2 listas iguales lo son. Assert.IsTrue(lista1.Equals(lista2), "El método Equals() no indica que dos listas iguales lo sean."); // Comprobamos que indica que listas distintas no son iguales Assert.IsFalse(lista1.Equals(null), "El método Equals() indica que dos listas son iguales cuando se le pasa null."); Assert.IsFalse(lista1.Equals(new Lista <int>()), "El método Equals() indica que dos listas son iguales cuando se le pasa una lista de otro tipo."); Assert.IsFalse(lista1.Equals(lista4), "El método Equals() indica que dos listas son iguales cuando las listas tienen distinto tamaño."); lista2.Set(0, null); Assert.IsFalse(lista1.Equals(lista2), "El método Equals() indica que dos listas son iguales cuando tienen el mismo tamaño pero elementos distintos."); lista1.Set(0, null); Assert.IsTrue(lista1.Equals(lista2), "El método Equals() indica que dos listas son distintas cuando tienen los mismos elementos."); }