Thanks for your investigations. Whatever you decide about equality testing, this bug indicates that you need to think about the consequences this has to other assertions like Contains.
BTW, does this bug really address equality testing? The documentation introduces Assert.Contains as identity assertion, not equality assertion. Perhaps NUnit is testing equality within the Contains assertion where it should test for identity. -- You received this bug notification because you are a member of NUnit Developers, which is subscribed to NUnit V2. https://bugs.launchpad.net/bugs/1051847 Title: self contained item in array causes stack overflow Status in NUnit V2 Test Framework: Confirmed Bug description: using System.Collections; using System.Collections.Generic; using NUnit.Framework; [TestFixture] public class Reproduction { class SelfContainer : IEnumerable { public IEnumerator GetEnumerator() { yield return this; } } [Test] public void SelfContainedItemFoundInArray() { var item = new SelfContainer(); var items = new SelfContainer[] { new SelfContainer(), item }; // work around Assert.True(((ICollection<SelfContainer>)items).Contains(item)); // causes StackOverflowException Assert.Contains(item, items); } } Reproduced in NUnit 2.6.1 See also bug #491300 To manage notifications about this bug go to: https://bugs.launchpad.net/nunitv2/+bug/1051847/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~nunit-core Post to : [email protected] Unsubscribe : https://launchpad.net/~nunit-core More help : https://help.launchpad.net/ListHelp

