public void Test_AdvancedCollectionView_Combined_Using_Shaping_Changing_Properties() { var personLorem = new Person() { Name = "lorem", Age = 4 }; var l = new ObservableCollection <Person> { personLorem, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l, true) { SortDescriptions = { new SortDescription(nameof(Person.Age), SortDirection.Descending) }, Filter = (x) => ((Person)x).Name.Length > 5 }; a.ObserveFilterProperty(nameof(Person.Name)); Assert.AreEqual(42, ((Person)a.First()).Age); Assert.AreEqual(1, a.Count); personLorem.Name = "lorems"; personLorem.Age = 96; Assert.AreEqual(96, ((Person)a.First()).Age); Assert.AreEqual(2, a.Count); }
public void Test_AdvancedCollectionView_Sorting() { var l = new ObservableCollection <Person> { new Person() { Name = "lorem", Age = 4 }, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l) { SortDescriptions = { new SortDescription(nameof(Person.Age), SortDirection.Descending) } }; Assert.AreEqual(((Person)a.First()).Age, 42); }
public void Test_AdvancedCollectionView_Sorting_CustomComparable() { var l = new ObservableCollection <Person> { new Person() { Name = "lorem", Age = 4 }, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l) { SortDescriptions = { new SortDescription(nameof(Person.Age), SortDirection.Ascending, new DelegateComparable((x, y) => - ((int)x).CompareTo((int)y))) } }; Assert.AreEqual(((Person)a.First()).Age, 42); }
public void Test_AdvancedCollectionView_Sorting_OnSelf_CustomComparable_With_Shaping() { var l = new ObservableCollection <Person> { new Person() { Name = "lorem", Age = 4 }, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l, true) { SortDescriptions = { new SortDescription(SortDirection.Ascending, new DelegateComparable((x, y) => - ((Person)x).Age.CompareTo(((Person)y).Age))) } }; Assert.AreEqual(42, ((Person)a.First()).Age); }
public void Test_AdvancedCollectionView_Using_Shaping() { var myPerson = new Person() { Name = "lorem", Age = 4 }; var l = new ObservableCollection <Person> { myPerson, new Person() { Name = "imsum", Age = 8 }, }; var a = new AdvancedCollectionView(l, true); myPerson.Name = "myName"; Assert.AreEqual("myName", ((Person)a.First()).Name); Assert.AreEqual(2, a.Count); }
public void Test_AdvancedCollectionView_Combined() { var l = new ObservableCollection <Person> { new Person() { Name = "lorem", Age = 4 }, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l) { SortDescriptions = { new SortDescription(nameof(Person.Age), SortDirection.Descending) }, Filter = (x) => ((Person)x).Name.Length > 5 }; Assert.AreEqual(((Person)a.First()).Age, 42); Assert.AreEqual(a.Count, 1); l.Add(new Person { Name = "foo", Age = 50 }); l.Add(new Person { Name = "Person McPersonface", Age = 10 }); Assert.AreEqual(((Person)a.First()).Age, 42); Assert.AreEqual(a.Count, 2); }
public void Test_AdvancedCollectionView_Combined_Using_Shaping_Filter_Back_In() { var l = new ObservableCollection <Person> { new Person() { Name = "lorem", Age = 4 }, new Person() { Name = "imsum", Age = 8 }, new Person() { Name = "dolor", Age = 15 }, new Person() { Name = "sit", Age = 16 }, new Person() { Name = "amet", Age = 23 }, new Person() { Name = "consectetur", Age = 42 }, }; var a = new AdvancedCollectionView(l, true); a.Filter = (x) => ((Person)x).Name.Length > 5; a.RefreshFilter(); a.Filter = (x) => ((Person)x).Name.Length > 4; a.RefreshFilter(); a.SortDescriptions.Add(new SortDescription(nameof(Person.Age), SortDirection.Descending)); Assert.AreEqual(42, ((Person)a.First()).Age); Assert.AreEqual(4, a.Count); l.Add(new Person { Name = "foo", Age = 50 }); l.Add(new Person { Name = "Person McPersonface", Age = 10 }); Assert.AreEqual(42, ((Person)a.First()).Age); Assert.AreEqual(5, a.Count); }