public void RemoveAt_EventsRaisedWithCorrectArgumentsAndItemRemoved() { int index = 0, item = 3; var subject = new NotifyingList <int> { 3 }; subject.Removing += (sender, e) => { Assert.That(e.Index, Is.EqualTo(index)); Assert.That(e.Value, Is.EqualTo(item)); Assert.That(e.IsCancelled, Is.False); }; subject.Removed += (sender, e) => { Assert.That(e.Index, Is.EqualTo(index)); Assert.That(e.Value, Is.EqualTo(item)); }; subject.RemoveAt(0); Assert.That(subject.Count, Is.EqualTo(0)); }
public void RemoveAt_OutOfBounds_Exception() { var subject = new NotifyingList <int> { 3 }; Assert.That(() => subject.RemoveAt(2), Throws.InstanceOf <ArgumentOutOfRangeException>()); }
public void RemoveAt_EventsRaised() { bool removingRaised = false, removedRaised = false; var subject = new NotifyingList <int> { 3 }; subject.Removing += (sender, args) => removingRaised = true; subject.Removed += (sender, args) => removedRaised = true; subject.RemoveAt(0); Assert.That(removingRaised, Is.True); Assert.That(removedRaised, Is.True); }
public void RemoveAt_CanCancelDeletion() { bool removedRaised = false; var subject = new NotifyingList <int> { 3 }; subject.Removing += ((sender, e) => e.Cancel()); subject.Removed += delegate { removedRaised = true; }; subject.RemoveAt(0); Assert.That(removedRaised, Is.False); Assert.That(subject[0], Is.EqualTo(3)); }