public void Constructor_does_not_raise_an_exception() { // Act var sut = new EventRaisingCollection <Person> (_source); // Assert Assert.NotNull(sut); }
public void Remove_triggers_CollectionChanged() { var sut = new EventRaisingCollection <Person> (_source); NotifyCollectionChangedEventArgs capturedArgs = default; void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs args) => capturedArgs = args; sut.CollectionChanged += OnCollectionChanged; sut.Remove(SourceCollection.First()); sut.CollectionChanged -= OnCollectionChanged; Assert.That(capturedArgs, Is.Not.Null); }
public void Remove_triggers_both_remove_events() { // Arrange var sut = new EventRaisingCollection <Person> (_source); sut.BeforeRemove += RecordingCallbackOne; sut.AfterRemove += RecordingCallbackTwo; // Act sut.Remove(SourceCollection.First()); sut.BeforeRemove -= RecordingCallbackOne; sut.AfterRemove -= RecordingCallbackTwo; // Assert Assert.IsTrue(CallbackOneCalled, "Callback one"); Assert.IsTrue(CallbackTwoCalled, "Callback two"); }
public void Add_triggers_both_add_events() { // Arrange var sut = new EventRaisingCollection <Person> (_source); sut.BeforeAdd += RecordingCallbackOne; sut.AfterAdd += RecordingCallbackTwo; // Act sut.Add(new Person()); sut.BeforeRemove -= RecordingCallbackOne; sut.AfterRemove -= RecordingCallbackTwo; // Assert Assert.IsTrue(CallbackOneCalled, "Callback one"); Assert.IsTrue(CallbackTwoCalled, "Callback two"); }
public void Clear_triggers_both_remove_events_for_every_item() { // Arrange int beforeRemoveCalls = 0, afterRemoveCalls = 0; var sut = new EventRaisingCollection <Person> (_source); EventHandler <BeforeModifyEventArgs <Person> > incrementBefore = (sender, e) => beforeRemoveCalls++; EventHandler <AfterModifyEventArgs <Person> > incrementAfter = (sender, e) => afterRemoveCalls++; sut.BeforeRemove += incrementBefore; sut.AfterRemove += incrementAfter; // Act sut.Clear(); sut.BeforeRemove -= incrementBefore; sut.AfterRemove -= incrementAfter; // Assert Assert.AreEqual(SourceCollection.Count, beforeRemoveCalls, "Before remove"); Assert.AreEqual(SourceCollection.Count, afterRemoveCalls, "After remove"); }