sestoft / C5

C5 generic collection library for C#/.NET
http://www.itu.dk/research/c5/
MIT License
1.03k stars 181 forks source link

Bug in Tests Means that Only Added Events are Tested #44

Open lundmikkel opened 8 years ago

lundmikkel commented 8 years ago

In ArrayListTest events are not properly tested. The method listen() only adds event handlers to the Added event, thereby ignoring all other events:

private void listen() {
    seen.Listen(list, EventTypeEnum.Added);
}

This is correctly done in the HashedArrayListTest class:

private void listen() {
    seen.Listen(list, EventTypeEnum.All);
}

Be aware that fixing the listen() method will cause the Listenable() test to fail. It can, however, easily be fixed by inlining the method:

[Test]
public void Listenable()
{
    Assert.AreEqual(EventTypeEnum.All, list.ListenableEvents);
    Assert.AreEqual(EventTypeEnum.None, list.ActiveEvents);
    seen.Listen(list, EventTypeEnum.Added); // <-- Bug fix
    Assert.AreEqual(EventTypeEnum.Added, list.ActiveEvents);
}
ondfisk commented 8 years ago

Again. Pull requests are accepted :)