public void TestInvertirAngulos() { Lista <Angulo> angulos = new Lista <Angulo>(Factoria.CrearAngulos()); Lista <Angulo> copiaAngulos = new Lista <Angulo>(angulos); var angulosInvertidos = angulos.Invertir(); // Comprobamos que los elementos son los esperados Assert.AreEqual(angulos.NumeroElementos, angulosInvertidos.Count(), "El método Invertir() modifica el numero de elementos del IEnumerable."); int expectedGrados = 360; foreach (var angulo in angulosInvertidos) { Assert.AreEqual(expectedGrados, angulo.Grados, "El método Invertir() no retorna los elementos esperados"); expectedGrados--; } // Comprobamos que no se modifica la lista original Assert.AreEqual(copiaAngulos, angulos, "El método Invertir() modifica el IEnumerable original."); }