public void TestListaRemoveValue() { lista = new Lista <int>(1, 3, 4); bool wasRemoved = lista.RemoveValue(3); Assert.AreEqual(2, lista.NumeroElementos, "Borrar usando RemoveValue() un elemento que está en la lista no decrementa en 1 el número de elementos."); Assert.AreEqual("[1, 4]", lista.ToString(), "Borrar usando RemoveValue() un elemento que está en la lista no lo borra correctamente."); Assert.IsTrue(wasRemoved, "Borrar usando RemoveValue() un elemento que está en la lista no retorna true."); wasRemoved = lista.RemoveValue(3); Assert.AreEqual(2, lista.NumeroElementos, "Borrar usando RemoveValue() un elemento que NO está en la lista modifica el número de elementos."); Assert.AreEqual("[1, 4]", lista.ToString(), "Borrar usando RemoveValue() un elemento que NO está en la lista modifica la lista."); Assert.IsFalse(wasRemoved, "Borrar usando RemoveValue() un elemento que NO está en la lista no retorna false."); // Intentamos borrar el último elemento, para probar si funciona bien en los extremos wasRemoved = lista.RemoveValue(4); Assert.AreEqual(1, lista.NumeroElementos, "Borrar usando RemoveValue() el último elemento no decrementa el número de elementos en 1."); Assert.AreEqual("[1]", lista.ToString(), "Borrar usando RemoveValue() el último elemento no elimina dicho elemento de la lista."); Assert.IsTrue(wasRemoved, "Borrar usando RemoveValue() el último elemento no retorna true."); // Probamos con una lista que tiene nulls para ver que no da problemas Persona p = new Persona("C", "S", "1"); Lista <Persona> listaConNulls = new Lista <Persona>(null, p, null); wasRemoved = listaConNulls.RemoveValue(p); Assert.AreEqual(2, listaConNulls.NumeroElementos, "Borrar usando RemoveValue() un elemento que está en la lista no decrementa en 1 el número de elementos."); Assert.AreEqual("[, ]", listaConNulls.ToString(), "Borrar usando RemoveValue() un elemento que está en la lista no lo borra correctamente."); Assert.IsTrue(wasRemoved, "Borrar usando RemoveValue() un elemento que está en la lista no retorna true."); wasRemoved = listaConNulls.RemoveValue(null); Assert.AreEqual(1, listaConNulls.NumeroElementos, "Borrar usando RemoveValue() un elemento que está en la lista no decrementa en 1 el número de elementos."); Assert.AreEqual("[]", listaConNulls.ToString(), "Borrar usando RemoveValue() un elemento que está en la lista no lo borra correctamente."); Assert.IsTrue(wasRemoved, "Borrar usando RemoveValue() un elemento que está en la lista no retorna true."); }