コード例 #1
0
 public GroupingProductListingViewModel(Factories factories, BackgroundWorkerFactory workerFactory)
     : base(factories, workerFactory)
 {
     Grouping = new SortedGroupingViewModel<ProductViewModel, CategoryViewModel, string, string>(this,
         () => Products,
         keySelector: product => product.Category,
         predicate: product => product.Name.ContainsIgnoringCase(search),
         choose: Choose,
         itemSort: product => product.Name,
         groupSort: group => group.Key.Name);
 }
コード例 #2
0
 public void CanSort()
 {
     var unsorted = new GroupingViewModel<string, int>(viewModel, () => viewModel.Items,
         item => item.Length, item => filterResult, choose);
     viewModel.Load();
     Assert.AreEqual(4, unsorted.Groups[0].Key);
     Assert.AreEqual("foo", unsorted.Groups[1].First());
     var sorted = new SortedGroupingViewModel<string, int, string, int>(viewModel, () => viewModel.Items,
         item => item.Length, item => filterResult, choose, itemSort: item => item,
         groupSort: group => -group.Key);
     viewModel.Refresh();
     Assert.AreEqual(4, sorted.Groups[0].Key);
     Assert.AreEqual("bar", sorted.Groups[1].First());
 }