views:

45

answers:

1

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?

+1  A: 

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));
Quartermeister