Esempio n. 1
0
        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.");
        }