Al tratar de verificarme a mí mismo, que C# Igual para IEnumerables es una referencia igual, encontré algo extraño. Con la siguiente configuración en NUnitC# Assert.AreNotEqual versus Igual
var a = (IEnumerable<string>)(new[] { "one", "two" });
var b = (IEnumerable<string>)(new[] { "one", "two" });
esta prueba
Assert.IsFalse(a.Equals(b));
pases, mientras que esta prueba
Assert.AreNotEqual(a, b);
no. ¿Alguien puede explicar por qué?
Editar: Gracias por las respuestas. Acabo de leer la documentación para NUnit, y dice lo mismo, que AreEqual y AreNotEqual con colecciones prueban la igualdad de cada elemento de la colección. Creo que estaba atrapado con la noción de que AreEqual y AreNotEqual simplemente usaban Iguales.