public void Insert_triggers_CollectionChanged() { var sut = new EventRaisingList <Person> (_source); NotifyCollectionChangedEventArgs capturedArgs = default; void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs args) => capturedArgs = args; sut.CollectionChanged += OnCollectionChanged; sut.Insert(1, new Person()); sut.CollectionChanged -= OnCollectionChanged; Assert.That(capturedArgs, Is.Not.Null); }
public void Insert_includes_index_of_new_item() { var sut = new EventRaisingList <Person> (_source); AfterModifyEventArgs <Person> capturedArgs = default; void OnAfterAdd(object sender, AfterModifyEventArgs <Person> args) => capturedArgs = args; sut.AfterAdd += OnAfterAdd; sut.Insert(1, new Person()); sut.AfterAdd -= OnAfterAdd; Assert.That(capturedArgs, Is.InstanceOf <AfterModifyListEventArgs <Person> >().And.Property(nameof(IHasListIndex.Index)).EqualTo(1)); }
public void Insert_triggers_both_add_events() { // Arrange var sut = new EventRaisingList <Person> (_source); sut.BeforeAdd += RecordingCallbackOne; sut.AfterAdd += RecordingCallbackTwo; // Act sut.Insert(1, new Person()); sut.BeforeRemove -= RecordingCallbackOne; sut.AfterRemove -= RecordingCallbackTwo; // Assert Assert.IsTrue(CallbackOneCalled, "Callback one"); Assert.IsTrue(CallbackTwoCalled, "Callback two"); }