public void AddAll_triggers_both_add_events_for_each_item() { // Arrange int beforeAddCalls = 0, afterAddCalls = 0; var sut = new EventRaisingSet <Person> (_source); EventHandler <BeforeModifyEventArgs <Person> > incrementBefore = (sender, e) => beforeAddCalls++; EventHandler <AfterModifyEventArgs <Person> > incrementAfter = (sender, e) => afterAddCalls++; int itemCount = 3; var items = Enumerable.Range(0, 3).Select(x => new Person()); sut.BeforeAdd += incrementBefore; sut.AfterAdd += incrementAfter; // Act sut.AddAll(items); sut.BeforeAdd -= incrementBefore; sut.AfterAdd -= incrementAfter; // Assert Assert.AreEqual(itemCount, beforeAddCalls, "Before add"); Assert.AreEqual(itemCount, afterAddCalls, "After add"); }
public void Constructor_does_not_raise_an_exception() { // Act var sut = new EventRaisingSet <Person> (_source); // Assert Assert.NotNull(sut); }
public void Add_triggers_CollectionChanged() { var sut = new EventRaisingSet <Person> (_source); NotifyCollectionChangedEventArgs capturedArgs = default; void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs args) => capturedArgs = args; sut.CollectionChanged += OnCollectionChanged; sut.Add(new Person()); sut.CollectionChanged -= OnCollectionChanged; Assert.That(capturedArgs, Is.Not.Null); }