public void TestListaAdd() { lista = new Lista <int>(0, 1, 2); lista.Add(1, 4); Assert.AreEqual(4, lista.NumeroElementos, "Añadir un elemento en medio a una lista con 3 elementos no incrementa el número de elementos a 4."); Assert.AreEqual("[0, 4, 1, 2]", lista.ToString(), "La operación de añadir un 4 en la posición 1 no lo añade correctamente"); // Probamos a añadir en la posición 0 (desplaza el resto de elementos a la dcha) lista.Add(0, -1); Assert.AreEqual(5, lista.NumeroElementos, "Añadir un elemento usando Add() al principio de una lista no incrementa el número de elementos en 1."); Assert.AreEqual("[-1, 0, 4, 1, 2]", lista.ToString(), "Añadir un elemento usando Add() al principio de una lista no añade dicho elemento al principio."); // Probamos a añadir en la última posición (desplaza el resto de elementos a la dcha, // por lo que el elemento añadido no es el último, sino el penúltimo). lista.Add(lista.NumeroElementos - 1, 9); Assert.AreEqual(6, lista.NumeroElementos, "Añadir un elemento usando Add() en la última posición de una lista no incrementa el número de elementos en 1."); Assert.AreEqual("[-1, 0, 4, 1, 9, 2]", lista.ToString(), "Añadir un elemento usando Add() en la última posición de una lista no añade dicho elemento como el penúltimo."); }
public void TestListaDoubles() { Lista <double> listaStrings = new Lista <double>(1.1, 2.2, 3.3); Assert.AreEqual(3, listaStrings.NumeroElementos, "El constructor de la lista funciona mal con doubles."); Assert.AreEqual("[1,1, 2,2, 3,3]", listaStrings.ToString(), "El constructor de la lista funciona mal con doubles."); listaStrings.AddLast(4.4); Assert.AreEqual(4, listaStrings.NumeroElementos, "El método AddLast() de la lista funciona mal con doubles."); Assert.AreEqual("[1,1, 2,2, 3,3, 4,4]", listaStrings.ToString(), "El método AddLast() de la lista funciona mal con doubles."); listaStrings.RemoveFirst(); Assert.AreEqual(3, listaStrings.NumeroElementos, "El método RemoveFirst() de la lista funciona mal con doubles."); Assert.AreEqual("[2,2, 3,3, 4,4]", listaStrings.ToString(), "El método RemoveFirst() de la lista funciona mal con doubles."); Assert.AreEqual(2.2, listaStrings.Get(0), "El método Get() de la lista funciona mal con doubles."); Assert.AreEqual(true, listaStrings.Contains(3.3), "El método Contains() de la lista funciona mal con doubles."); Assert.AreEqual(false, listaStrings.Contains(5.5), "El método Contains() de la lista funciona mal con doubles."); }
public void TestListaPersonas() { Lista <Persona> listaStrings = new Lista <Persona>( new Persona("Carlos", "Sanabria", "12345678A")); Assert.AreEqual(1, listaStrings.NumeroElementos, "El constructor de la lista funciona mal con Personas"); Assert.AreEqual("[Carlos Sanabria con NIF 12345678A]", listaStrings.ToString(), "El constructor de la lista funciona mal con Personas."); listaStrings.AddLast(new Persona("Pedro", "Pérez", "12345678B")); Assert.AreEqual(2, listaStrings.NumeroElementos, "El método AddLast() de la lista funciona mal con Personas"); Assert.AreEqual("[Carlos Sanabria con NIF 12345678A, " + "Pedro Pérez con NIF 12345678B]", listaStrings.ToString(), "El método AddLast() de la lista funciona mal con Personas."); listaStrings.RemoveFirst(); Assert.AreEqual(1, listaStrings.NumeroElementos, "El método RemoveFirst() de la lista funciona mal con Personas"); Assert.AreEqual("[Pedro Pérez con NIF 12345678B]", listaStrings.ToString(), "El método RemoveFirst() de la lista funciona mal con Personas."); Assert.AreEqual("Pedro Pérez con NIF 12345678B", listaStrings.Get(0).ToString(), "El método Get() de la lista funciona mal con Personas"); Assert.AreEqual(true, listaStrings.Contains( new Persona("Pedro", "Pérez", "12345678B")), "El método Contains() de la lista funciona mal con Personas"); Assert.AreEqual(false, listaStrings.Contains( new Persona("Luis", "Pérez", "12345678B")), "El método Contains() de la lista funciona mal con Personas"); }
public void TestListaStrings() { Lista <String> listaStrings = new Lista <String>("h", "e", "l", "l", "o"); Assert.AreEqual(5, listaStrings.NumeroElementos, "El constructor de la lista funciona mal con Strings"); Assert.AreEqual("[h, e, l, l, o]", listaStrings.ToString(), "El constructor de la lista funciona mal con Strings."); listaStrings.AddLast("!"); Assert.AreEqual(6, listaStrings.NumeroElementos, "El método AddLast() de la lista funciona mal con Strings"); Assert.AreEqual("[h, e, l, l, o, !]", listaStrings.ToString(), "El método AddLast() de la lista funciona mal con Strings."); listaStrings.RemoveFirst(); Assert.AreEqual(5, listaStrings.NumeroElementos, "El método RemoveFirst() de la lista funciona mal con Strings"); Assert.AreEqual("[e, l, l, o, !]", listaStrings.ToString(), "El método RemoveFirst() de la lista funciona mal con Strings."); Assert.AreEqual("e", listaStrings.Get(0), "El método Get() de la lista funciona mal con Strings"); Assert.AreEqual(true, listaStrings.Contains("l"), "El método Contains() de la lista funciona mal con Strings"); Assert.AreEqual(false, listaStrings.Contains("k"), "El método Contains() de la lista funciona mal con Strings"); }
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."); }
public void TestListaAddLast() { lista = new Lista <int>(); lista.AddLast(1); Assert.AreEqual(1, lista.NumeroElementos, "Añadir un elemento al final a una lista vacía no incrementa el número de elementos a 1."); Assert.AreEqual("[1]", lista.ToString(), "La operación de añadir al final un 1 no lo añade correctamente"); lista.AddLast(2); Assert.AreEqual(2, lista.NumeroElementos, "Añadir un elemento al final a una lista con 1 elemento no incrementa el número de elementos a 2."); Assert.AreEqual("[1, 2]", lista.ToString(), "La operación de añadir al final un 2 no lo añade correctamente"); }
public void TestListaRemoveLast() { lista = new Lista <int>(3, 4); lista.RemoveLast(); Assert.AreEqual(1, lista.NumeroElementos, "Borrar un elemento al final de una lista no decrementa el número de elementos en 1."); Assert.AreEqual("[3]", lista.ToString(), "La operación de borrar el elemento al final no lo borra correctamente"); // Probamos a borrar el último elemento cuando la lista solo tiene un elemento lista.RemoveLast(); Assert.AreEqual(0, lista.NumeroElementos, "Borrar un elemento al final de una lista con un único elemento no decrementa el número de elementos a 0."); Assert.AreEqual("[]", lista.ToString(), "Borrar un elemento al final de una lista con un único elemento no deja la lista vacía."); }
public void TestListaConstructorVariosEnteros() { lista = new Lista <int>(1, 2, 3); Assert.AreEqual(3, lista.NumeroElementos, "El constructor de lista con varios elementos como parámetro no crea una lista con 3 elementos."); Assert.AreEqual("[1, 2, 3]", lista.ToString(), "El constructor de lista con varios elementos como parámetro no crea una lista con los números 1, 2 y 3."); }
public void TestListaConstructorUnSoloElemento() { lista = new Lista <int>(1); Assert.AreEqual(1, lista.NumeroElementos, "El constructor de lista con un elemento no crea una lista con 1 elemento."); Assert.AreEqual("[1]", lista.ToString(), "El constructor de lista con un 1 como parámetro no crea una lista con un 1."); }
public void TestConstructorListaVacia() { lista = new Lista <int>(); Assert.AreEqual(0, lista.NumeroElementos, "El constructor de lista vacía no crea una lista con 0 elementos."); Assert.AreEqual("[]", lista.ToString(), "El constructor de lista vacía no crea una lista vacía."); }
public void TestListaSet() { lista = new Lista <int>(0, 1, 2); lista.Set(0, 9); Assert.AreEqual(3, lista.NumeroElementos, "Hacer un Set() incrementa el número de elementos."); Assert.AreEqual("[9, 1, 2]", lista.ToString(), "Hacer un Set() no modifica correctamente la lista."); lista.Set(1, 8); Assert.AreEqual(3, lista.NumeroElementos, "Hacer un Set() incrementa el número de elementos."); Assert.AreEqual("[9, 8, 2]", lista.ToString(), "Hacer un Set() no modifica correctamente la lista."); lista.Set(2, 7); Assert.AreEqual(3, lista.NumeroElementos, "Hacer un Set() incrementa el número de elementos."); Assert.AreEqual("[9, 8, 7]", lista.ToString(), "Hacer un Set() no modifica correctamente la lista."); }
public void TestListaConstructorCopia() { Lista <int> listaOtro = new Lista <int>(1, 2, 3); lista = new Lista <int>(listaOtro); Assert.AreEqual(listaOtro.NumeroElementos, lista.NumeroElementos, "La lista creada con el constructor de copia tiene el mismo número de elementos que la lista original."); Assert.AreEqual(listaOtro.ToString(), lista.ToString(), "La lista creada con el constructor de copia tiene los mismos elementos que la lista original."); // Comprobamos que las dos listas son totalmente independientes (modificar una no modifica la otra) listaOtro.AddLast(4); lista.RemoveFirst(); Assert.AreEqual(4, listaOtro.NumeroElementos, "La lista creada con el constructor de copia no es independiente de la lista original."); Assert.AreEqual("[1, 2, 3, 4]", listaOtro.ToString(), "La lista creada con el constructor de copia no es independiente de la lista original."); Assert.AreEqual(2, lista.NumeroElementos, "La lista creada con el constructor de copia no es independiente de la lista original."); Assert.AreEqual("[2, 3]", lista.ToString(), "La lista creada con el constructor de copia no es independiente de la lista original."); }
public void TestListaRemoveAt() { lista = new Lista <int>(1, 2, 3, 4); lista.RemoveAt(1); Assert.AreEqual(3, lista.NumeroElementos, "Borrar un elemento del medio de una lista de 4 elementos no decrementa el número de elementos a 3."); Assert.AreEqual("[1, 3, 4]", lista.ToString(), "La operación de borrar el elemento en la posición 1 no lo borra correctamente"); // Probamos a eliminar la posición 0 lista.RemoveAt(0); Assert.AreEqual(2, lista.NumeroElementos, "Borrar usando RemoveAt() el elemento en la posición 0 de una lista no decrementa el número de elementos en 1."); Assert.AreEqual("[3, 4]", lista.ToString(), "Borrar usando RemoveAt() el elemento en la posición 0 de una lista no elimina el primer elemento."); // Probamos a eliminar la última posición lista.RemoveAt(lista.NumeroElementos - 1); Assert.AreEqual(1, lista.NumeroElementos, "Borrar usando RemoveAt() el elemento en la última posición de una lista no decrementa el número de elementos en 1."); Assert.AreEqual("[3]", lista.ToString(), "Borrar usando RemoveAt() el elemento en la última posición de una lista no elimina el último elemento."); }
public void TestListaConstructorArray() { lista = new Lista <int>(new int[] { 1, 2, 3 }); Assert.AreEqual(3, lista.NumeroElementos, "El constructor de lista con varios elementos como parámetro no crea una lista con 3 elementos."); Assert.AreEqual("[1, 2, 3]", lista.ToString(), "El constructor de lista con varios elementos como parámetro no crea una lista con los números 1, 2 y 3."); // Probamos con un array vacío lista = new Lista <int>(new int[] { }); Assert.AreEqual(0, lista.NumeroElementos, "El constructor de lista con un array vacío como parámetro no crea una lista con 0 elementos."); Assert.AreEqual("[]", lista.ToString(), "El constructor de lista con un array vacío como parámetro no crea una lista vacía."); }
public void TestListaAddFirst() { lista = new Lista <int>(1, 2); lista.AddFirst(0); Assert.AreEqual(3, lista.NumeroElementos, "Añadir un elemento al principio a una lista con 2 elementos no incrementa el número de elementos a 3."); Assert.AreEqual("[0, 1, 2]", lista.ToString(), "La operación de añadir al principio un 0 no lo añade correctamente"); // Probamos a añadir al principio de una lista vacía lista = new Lista <int>(); lista.AddFirst(0); Assert.AreEqual(1, lista.NumeroElementos, "Añadir un elemento al principio a una lista vacía no incrementa el número de elementos a 1."); Assert.AreEqual("[0]", lista.ToString(), "Añadir un elemento al principio a una lista vacía no añade dicho elemento a la lista."); }