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]); }