public void TestBuscarAngulos() { Lista <Angulo> angulos = new Lista <Angulo>(Factoria.CrearAngulos()); #region BusquedaAngulosRectos /* Búsqueda de ángulos rectos */ // Buscamos el primer ángulo de 90 grados AssertBuscar(angulos, angulo => Math.Abs(Math.Abs(angulo.Grados) - 90.0) <= 0.001, angulos.Get(90), messageElementInCollection); #endregion #region BusquedaAngulosCuadrantes /* Búsqueda de ángulos en un cuadrante */ // Buscamos el primer ángulo del primer cuadrante AssertBuscar(angulos, angulo => angulo.Cuadrante == 1, angulos.Get(0), messageElementInCollection); // Buscamos el primer ángulo del segundo cuadrante AssertBuscar(angulos, angulo => angulo.Cuadrante == 2, angulos.Get(91), messageElementInCollection); // Buscamos el primer ángulo del tercer cuadrante AssertBuscar(angulos, angulo => angulo.Cuadrante == 3, angulos.Get(181), messageElementInCollection); // Buscamos el primer ángulo del cuarto cuadrante AssertBuscar(angulos, angulo => angulo.Cuadrante == 4, angulos.Get(271), messageElementInCollection); #endregion }
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 TestListaGet() { lista = new Lista <int>(1, 2, 3); // Probamos a retornar elementos en varias posiciones de la lista Assert.AreEqual(1, lista.Get(0), "La operación de obtener un elemento no lo retorna correctamente"); Assert.AreEqual(3, lista.NumeroElementos, "Obtener un elemento de una lista con 3 elementos modifica el número de elementos."); Assert.AreEqual(2, lista.Get(1), "La operación de obtener un elemento no lo retorna correctamente"); Assert.AreEqual(3, lista.NumeroElementos, "Obtener un elemento de una lista con 3 elementos modifica el número de elementos."); Assert.AreEqual(3, lista.Get(2), "La operación de obtener un elemento no lo retorna correctamente"); Assert.AreEqual(3, lista.NumeroElementos, "Obtener un elemento de una lista con 3 elementos modifica el número de elementos."); }
/// <summary> /// Método auxiliar que comprueba si Filtrar() devuelve la colección esperada. /// </summary> private void AssertFiltrar <T>(Lista <T> elementos, Predicate <T> predicate, int[] expectedIndicesElementos) { Lista <T> copiaElementos = new Lista <T>(elementos); var elementosFiltrados = elementos.Filtrar(predicate); // Comprobamos que el numero de elementos de la colección filtrada es el esperado Assert.AreEqual(expectedIndicesElementos.Length, elementosFiltrados.Count(), "El método Filtrar() no retorna un IEnumerable con el número de elementos esperado."); // Comprobamos que los elementos filtrados son las esperados int i = 0; foreach (var elementoFiltrado in elementosFiltrados) { var elementoEsperado = elementos.Get(expectedIndicesElementos[i++]); Assert.AreEqual(elementoEsperado, elementoFiltrado, "El método Filtrar() no retorna los elementos esperados"); } // Comprobamos que no se modifica la lista original Assert.AreEqual(copiaElementos, elementos, "El método Filtrar() modifica el IEnumerable original."); }
public void TestBuscarPersonas() { Lista <Persona> personas = new Lista <Persona>(Factoria.CrearPersonas()); #region BusquedaPersonasNombre /* Búsqueda de personas por nombre */ // Buscamos la primera persona cuyo nombre sea María AssertBuscar(personas, persona => persona.Nombre == "María", personas.Get(0), messageElementInCollection); // Buscamos la primera persona cuyo nombre sea Juan AssertBuscar(personas, persona => persona.Nombre == "Juan", personas.Get(1), messageElementInCollection); // Buscamos la primera persona cuyo nombre sea Miguel AssertBuscar(personas, persona => persona.Nombre == "Miguel", personas.Get(5), messageElementInCollection); // Buscamos una persona que no está en la lista y comprobamos que devuelve default(Persona) = null AssertBuscar(personas, persona => persona.Nombre == "Ricardo", null, messageElementNotInCollection); #endregion #region BusquedaPersonasLetraDni /* Búsqueda de personas cuyo nif termina en una letra dada */ // Buscamos la primera persona cuyo nif termine en la letra A AssertBuscar(personas, persona => persona.Nif[persona.Nif.Length - 1] == 'A', personas.Get(0), messageElementInCollection); // Buscamos la primera persona cuyo nif termine en la letra F AssertBuscar(personas, persona => persona.Nif[persona.Nif.Length - 1] == 'F', personas.Get(1), messageElementInCollection); // Buscamos la primera persona cuyo nif termine en la letra T AssertBuscar(personas, persona => persona.Nif[persona.Nif.Length - 1] == 'T', personas.Get(5), messageElementInCollection); // Buscamos una persona que no está en la lista y comprobamos que devuelve default(Persona) = null AssertBuscar(personas, persona => persona.Nif[persona.Nif.Length - 1] == 'X', null, messageElementNotInCollection); #endregion }
public void TestListaGetThrowsException03() { lista = new Lista <int>(1); lista.Get(1); }
public void TestListaGetThrowsException01() { lista = new Lista <int>(); lista.Get(0); }