Esempio n. 1
0
        public void RemoveAt_TwoItems_ItemsAreRemovedAndCollectionChangedRaised()
        {
            var collectionChangedEventArgsList = new List <NotifyCollectionChangedEventArgs>();

            var collection = new ExtendedObservableCollection <int> {
                135, 123, 456, 789
            };

            collection.CollectionChanged += (_, args) => collectionChangedEventArgsList.Add(args);

            collection.RemoveAt(3);
            collection.RemoveAt(1);

            Assert.Equal(2, collection.Count);
            Assert.Equal(135, collection[0]);
            Assert.Equal(456, collection[1]);

            Assert.Equal(2, collectionChangedEventArgsList.Count);

            Assert.Equal(NotifyCollectionChangedAction.Remove, collectionChangedEventArgsList[0].Action);

            Assert.NotNull(collectionChangedEventArgsList[0].OldItems);
            Assert.Single(collectionChangedEventArgsList[0].OldItems);

            Assert.Equal(789, collectionChangedEventArgsList[0].OldItems[0]);

            Assert.Equal(NotifyCollectionChangedAction.Remove, collectionChangedEventArgsList[1].Action);

            Assert.NotNull(collectionChangedEventArgsList[1].OldItems);
            Assert.Single(collectionChangedEventArgsList[1].OldItems);

            Assert.Equal(123, collectionChangedEventArgsList[1].OldItems[0]);
        }