public void TestForEachAngulos() { Lista <Angulo> angulos = new Lista <Angulo>(Factoria.CrearAngulos()); Lista <Angulo> copiaAngulos = new Lista <Angulo>(angulos); // Lista donde se van a añadir los elementos de angulos usando el ForEach Lista <Angulo> listaAngulosForEach = new Lista <Angulo>(); angulos.ForEach(listaAngulosForEach.AddLast); // Comprobamos que los elementos son los esperados Assert.AreEqual(angulos.NumeroElementos, listaAngulosForEach.Count(), "El método ForEach() no itera por todos los elementos del IEnumerable."); // Se utiliza el método Equals() definido en la clase Lista para comparar que las 2 listas son iguales Assert.AreEqual(angulos, listaAngulosForEach, "Tras hacer angulos.ForEach(lista.AddLast) angulos y lista no son iguales."); // Comprobamos que no se modifica la lista original Assert.AreEqual(copiaAngulos, angulos, "El método ForEach() modifica el IEnumerable original."); }