public void Remove_TwoItems_ItemsAreRemovedAndCollectionChangedRaised() { var collectionChangedEventArgsList = new List <NotifyCollectionChangedEventArgs>(); var collection = new ExtendedObservableCollection <int> { 123, 456, 789 }; collection.CollectionChanged += (_, args) => collectionChangedEventArgsList.Add(args); collection.Remove(123); collection.Remove(456); Assert.Single(collection); Assert.Equal(789, collection[0]); Assert.Equal(2, collectionChangedEventArgsList.Count); Assert.Equal(NotifyCollectionChangedAction.Remove, collectionChangedEventArgsList[0].Action); Assert.NotNull(collectionChangedEventArgsList[0].OldItems); Assert.Single(collectionChangedEventArgsList[0].OldItems); Assert.Equal(123, collectionChangedEventArgsList[0].OldItems[0]); Assert.Equal(NotifyCollectionChangedAction.Remove, collectionChangedEventArgsList[1].Action); Assert.NotNull(collectionChangedEventArgsList[1].OldItems); Assert.Single(collectionChangedEventArgsList[1].OldItems); Assert.Equal(456, collectionChangedEventArgsList[1].OldItems[0]); }
public static void Main(string[] args) { var collection = new ExtendedObservableCollection <string>(); collection.CollectionChanged += Collection_CollectionChanged; collection.Add("item1"); collection.AddRange(new string[] { "item2", "item3", "item4" }); collection[0] = "item1 mk2"; collection.Move(0, 3); collection.Remove("item3"); collection.Clear(); }