Esempio n. 1
0
        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]);
        }
Esempio n. 2
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();
        }