public void SetReturnsCorrectReferencesWhenPeopleAreRemoved() { ArraySet set = new ArraySet(); var alice = new Person { Name = "Alice" }; var bob = new Person { Name = "Bob" }; var charlie = new Person { Name = "Charlie" }; set.Add(alice); set.Add(bob); set.Add(charlie); Person[] people = set.GetAllPeople(); Assert.AreEqual(3, people.Length); Assert.IsTrue(people.Contains(alice)); Assert.IsTrue(people.Contains(bob)); Assert.IsTrue(people.Contains(charlie)); set.Remove(bob); people = set.GetAllPeople(); Assert.AreEqual(2, people.Length); Assert.IsTrue(people.Contains(alice)); Assert.IsTrue(people.Contains(charlie)); }