public void OnPropertyChangedTest() { List<EditableTestClass> efbList = new List<EditableTestClass>(); ObservableCollection<TestClass> fbCollection = new ObservableCollection<TestClass>(); PagedCollectionView pcv1 = new PagedCollectionView(efbList); PagedCollectionView pcv2 = new PagedCollectionView(fbCollection); pcv1.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(this.PagedCollectionViewPropertyChanged); pcv2.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(this.PagedCollectionViewPropertyChanged); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("Count"); this._expectedPropertyNames.Add("IsEmpty"); this._expectedPropertyNames.Add("IsCurrentAfterLast"); this.AssertExpectedEvent(delegate { fbCollection.Add(new TestClass()); }); this.CheckExpectedPropertyNamesFound(); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("IsCurrentBeforeFirst"); this._expectedPropertyNames.Add("CurrentPosition"); this._expectedPropertyNames.Add("CurrentItem"); this.AssertExpectedEvent(delegate { pcv2.MoveCurrentToFirst(); }); this.CheckExpectedPropertyNamesFound(); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("SortDescriptions"); this.AssertExpectedEvent(delegate { pcv1.SortDescriptions.Add(new System.ComponentModel.SortDescription("IntProperty", System.ComponentModel.ListSortDirection.Ascending)); }); this.CheckExpectedPropertyNamesFound(); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("Culture"); this.AssertExpectedEvent(delegate { pcv1.Culture = CultureInfo.InvariantCulture; }); this.CheckExpectedPropertyNamesFound(); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("Filter"); this.AssertExpectedEvent(delegate { pcv2.Filter = new Predicate<object>(this.FilterNegativeNumbers); }); this.CheckExpectedPropertyNamesFound(); // Attempt to move to Page 0 should fail while PageSize is still 0. Assert.AreEqual(0, pcv1.PageSize); Assert.IsFalse(pcv1.MoveToPage(0)); this._expectedPropertyNames.Clear(); this._expectedPropertyNames.Add("PageSize"); this.AssertExpectedEvent(delegate { pcv1.PageSize = 10; }); this.CheckExpectedPropertyNamesFound(); pcv1.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(this.PagedCollectionViewPropertyChanged); pcv2.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(this.PagedCollectionViewPropertyChanged); }