public void TestMapPersonas() { Lista <Persona> personas = new Lista <Persona>(Factoria.CrearPersonas()); Lista <Persona> copiaPersonas = new Lista <Persona>(personas); var apellidosNombres = personas.Map(persona => persona.Apellido1 + ", " + persona.Nombre); // Comprobamos que los elementos son los esperados Assert.AreEqual(personas.NumeroElementos, apellidosNombres.Count(), "El método Map() modifica el numero de elementos del IEnumerable."); var enumerator = personas.GetEnumerator(); foreach (var apellidosNombre in apellidosNombres) { enumerator.MoveNext(); var persona = enumerator.Current; Assert.AreEqual(persona.Apellido1 + ", " + persona.Nombre, apellidosNombre, "El método Map() no retorna los elementos esperados"); } // Comprobamos que no se modifica la lista original Assert.AreEqual(copiaPersonas, personas, "El método Map() modifica el IEnumerable original."); }
public void TestMapAngulos() { Lista <Angulo> angulos = new Lista <Angulo>(Factoria.CrearAngulos()); Lista <Angulo> copiaAngulos = new Lista <Angulo>(angulos); var cuadrantesAngulos = angulos.Map(angulo => angulo.Cuadrante); // Comprobamos que los elementos son los esperados Assert.AreEqual(angulos.NumeroElementos, cuadrantesAngulos.Count(), "El método Map() modifica el numero de elementos del IEnumerable."); int i = 0; foreach (var cuadrante in cuadrantesAngulos) { int expectedCuadrante; if (i <= 90) { expectedCuadrante = 1; } else if (i <= 180) { expectedCuadrante = 2; } else if (i <= 270) { expectedCuadrante = 3; } else { expectedCuadrante = 4; } Assert.AreEqual(expectedCuadrante, cuadrante, "El método Map() no retorna los elementos esperados"); i++; } // Comprobamos que no se modifica la lista original Assert.AreEqual(copiaAngulos, angulos, "El método Map() modifica el IEnumerable original."); }