public void TestFilterIsMatch() { int compareTo = (int)StateEnum.State3; var source = enumSource.ToList(); var expectedCollection = source.Where(v => v <= compareTo).ToArray(); LessOrEqualFilter <int> filter = GetLessOrEqualFilter <int>(); CollectionViewSource cvs = new(); cvs.Source = source; ICollectionView view = cvs.View; Assert.IsTrue(view.CanFilter); using (IDisposable defer = view.DeferRefresh()) { view.Filter = el => { BolapanControl.ItemsFilter.FilterEventArgs e = new(el); filter.IsMatch(null, e); return(e.Accepted); }; } Assert.IsFalse(filter.IsActive); var filtered = GetCollection(view); Assert.AreEqual(source.Count, filtered.Count); filter.CompareTo = compareTo; Assert.IsTrue(filter.IsActive); view.Refresh(); filtered = GetCollection(view); Assert.AreEqual(expectedCollection.Length, filtered.Count); for (int i = 0; i < expectedCollection.Length; i++) { Assert.AreEqual(expectedCollection[i], filtered[i]); } }