public void ConstructorTest() { var originalList = new ObservableCollection <string>(new[] { "D", "A", "c", "b" }); Predicate <string> filter = x => x != "c"; Func <IEnumerable <string>, IOrderedEnumerable <string> > sort = x => x.OrderBy(y => y); var listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase); listView.Filter = filter; listView.Sort = sort; AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView); listView.Dispose(); listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase, filter, sort); AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView); Assert.AreSame(filter, listView.Filter); Assert.AreSame(sort, listView.Sort); listView.Dispose(); listView = new ObservableListViewCore <string>(originalList, StringComparer.OrdinalIgnoreCase, filter, sort, true); AssertHelper.SequenceEqual(new[] { "A", "b", "D" }, listView); Assert.AreSame(filter, listView.Filter); Assert.AreSame(sort, listView.Sort); bool collectionChangedCalled = false; listView.CollectionChanged += (sender, e) => { collectionChangedCalled = true; }; originalList.Add("e"); Assert.IsFalse(collectionChangedCalled); listView.Dispose(); AssertHelper.ExpectedException <ArgumentNullException>(() => new ObservableListViewCore <string>(null !)); }
public void Initialize() { originalList = new ObservableCollection <string>(); observableListView = new ObservableListViewCore <string>(originalList); eventArgsList = new List <NotifyCollectionChangedEventArgs>(); void CollectionHandler(object sender, NotifyCollectionChangedEventArgs e) { eventArgsList.Add(e); } observableListView.CollectionChanged += CollectionHandler; void PropertyHandler(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof(observableListView.Count)) { countChangedCount++; } else if (e.PropertyName == "Item[]") { indexerChangedCount++; } } observableListView.PropertyChanged += PropertyHandler; }
public void Initialize() { originalList = new ObservableCollection <string>(); observableListView = new ObservableListViewCore <string>(originalList); eventArgsList = new List <NotifyCollectionChangedEventArgs>(); NotifyCollectionChangedEventHandler collectionHandler = (sender, e) => { eventArgsList.Add(e); }; observableListView.CollectionChanged += collectionHandler; PropertyChangedEventHandler propertyHandler = (sender, e) => { if (e.PropertyName == nameof(observableListView.Count)) { countChangedCount++; } else if (e.PropertyName == "Item[]") { indexerChangedCount++; } }; observableListView.PropertyChanged += propertyHandler; }
public void RaiseEventsWithoutListener() { var originalList2 = new ObservableCollection <string>(); var observableListView2 = new ObservableListViewCore <string>(originalList); originalList2.Add("first"); originalList2.Add("second"); originalList2.Move(0, 1); originalList2.Remove("first"); originalList2.Add("third"); originalList2.Clear(); observableListView2.Dispose(); observableListView2.Dispose(); }