Пример #1
0
        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");
        }
Пример #2
0
        public void Constructor_does_not_raise_an_exception()
        {
            // Act
            var sut = new EventRaisingSet <Person> (_source);

            // Assert
            Assert.NotNull(sut);
        }
Пример #3
0
        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);
        }