public void ChangeTest14() { const int specialYear = 2017; var sourceCollection = new ObservableCollection <Happening>(new[] { new Happening(new DateTime(2016, 01, 01, 13, 00, 00), "HappeningDay1@13"), new Happening(new DateTime(specialYear, 01, 01, 14, 00, 00), "Special comes first"), new Happening(new DateTime(2018, 01, 01, 16, 00, 00), "HappeningDay1@16") }); var target = new GroupingProjection <DateTime, DateTime, Happening>( sourceCollection, item => item.Time.Date, Comparer <DateTime> .Create((x, y) => { if (x.Year == specialYear) { return(-1); } if (y.Year == specialYear) { return(1); } return(x.CompareTo(y)); }), item => item.Time, Comparer <DateTime> .Default); Assert.AreEqual(specialYear, target.First().Key.Year); }
public void TestInitialize() { mSourceCollection = new ObservableCollection <Happening>(new Happening[] { new Happening(new DateTime(2017, 01, 01, 12, 00, 00), "HappeningDay1@12"), new Happening(new DateTime(2017, 01, 01, 14, 00, 00), "HappeningDay1@14"), new Happening(new DateTime(2017, 01, 01, 16, 00, 00), "HappeningDay1@16"), new Happening(new DateTime(2017, 01, 01, 10, 00, 00), "HappeningDay1@10"), new Happening(new DateTime(2017, 01, 01, 08, 00, 00), "HiddenDay1"), new Happening(new DateTime(2017, 01, 02, 12, 00, 00), "HappeningDay2@12"), new Happening(new DateTime(2017, 01, 02, 14, 00, 00), "HappeningDay2@14"), new Happening(new DateTime(2017, 01, 02, 16, 00, 00), "HappeningDay2@16"), new Happening(new DateTime(2017, 01, 02, 10, 00, 00), "HappeningDay2@10"), new Happening(new DateTime(2017, 01, 02, 08, 00, 00), "HiddenDay2") }); mBatchingSourceCollection = new BatchingCollection <Happening>(new Happening[] { new Happening(new DateTime(2017, 01, 01, 12, 00, 00), "HappeningDay1@12"), new Happening(new DateTime(2017, 01, 01, 14, 00, 00), "HappeningDay1@14"), new Happening(new DateTime(2017, 01, 01, 16, 00, 00), "HappeningDay1@16"), new Happening(new DateTime(2017, 01, 01, 10, 00, 00), "HappeningDay1@10"), new Happening(new DateTime(2017, 01, 01, 08, 00, 00), "HiddenDay1"), new Happening(new DateTime(2017, 01, 02, 12, 00, 00), "HappeningDay2@12"), new Happening(new DateTime(2017, 01, 02, 14, 00, 00), "HappeningDay2@14"), new Happening(new DateTime(2017, 01, 02, 16, 00, 00), "HappeningDay2@16"), new Happening(new DateTime(2017, 01, 02, 10, 00, 00), "HappeningDay2@10"), new Happening(new DateTime(2017, 01, 02, 08, 00, 00), "HiddenDay2") }); mTarget = new GroupingProjection <DateTime, DateTime, Happening>( mSourceCollection, item => item.Time.Date, null, item => item.Time, Comparer <DateTime> .Default, item => !item.Name.StartsWith("Hidden")); mTarget2 = new GroupingProjection <DateTime, DateTime, Happening>( mBatchingSourceCollection, item => item.Time.Date, null, item => item.Time, Comparer <DateTime> .Default, item => !item.Name.StartsWith("Hidden")); }
internal TabularGroupByRewriter(GroupingProjection groupByQuery) { this.Grouping = groupByQuery; }