I have two lists, I want to check whether the two lists are the same ( order not important), and whether it's the same depends on the IEqualityComparer instance I implement.
The ideal case is that I can use CollectionAssert.AreEquivalent with Custom IEqualityComparer. However it seems that CollectionAssert.AreEquivalent doesn't take in any IEqualityComparer.
Any idea on how to do this in a succinct and reusable manner?
CollectionAssert.AreEquivalent is implemented as:
Assert.That(actual, new CollectionEquivalentConstraint(expected), message, args); You can write out your assert that way and supply a custom IEqualityComparer with Using:
Assert.That(actual, new CollectionEquivalentConstraint(expected).Using(customComparer)); You can also shorten new CollectionEquivalentConstraint to Is.EquivalentTo:
Assert.That(actual, Is.EquivalentTo(expected).Using(customComparer));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With