studio - unit test c# ejemplo
CollectionAssert.AreEquivalent with Custom IEqualityComparer (1)
Tengo dos listas, quiero comprobar si las dos listas son iguales (orden no importante), y si es lo mismo depende de la instancia de IEqualityComparer
que implemento.
El caso ideal es que puedo usar CollectionAssert.AreEquivalent
con Custom IEqualityComparer
. Sin embargo, parece que CollectionAssert.AreEquivalent
no acepta ningún IEqualityComparer
.
¿Alguna idea sobre cómo hacer esto de manera sucinta y reutilizable?
CollectionAssert.AreEquivalent
se implementa como:
Assert.That(actual, new CollectionEquivalentConstraint(expected), message, args);
Puede escribir su declaración de esa manera y proporcionar un IEqualityComparer
personalizado con el Using
:
Assert.That(actual,
new CollectionEquivalentConstraint(expected).Using(customComparer));
También puede acortar la new CollectionEquivalentConstraint
a Is.EquivalentTo
:
Assert.That(actual, Is.EquivalentTo(expected).Using(customComparer));