Example #1
0
        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.");
        }