private List <TabularItemNode> Sort(CacheFieldNode cacheField, SharedItemsCollection cacheItems) { // Sort the fields according to their types. IComparer <string> comparer = null; if (this.TabularDataNode.CustomListSort && cacheField.IsDateGrouping) { if (cacheField.FieldGroup.GroupBy == PivotFieldDateGrouping.Months) { comparer = new MonthComparer(); } else if (cacheField.FieldGroup.GroupBy == PivotFieldDateGrouping.Days) { comparer = new DayComparer(); } } else { comparer = new NaturalComparer(); } // Sort the slicer cache items. if (this.TabularDataNode.SortOrder == SortOrder.Descending) { return(this.TabularDataNode.Items.OrderByDescending(t => cacheItems[t.AtomIndex].Value, comparer).ToList()); } return(this.TabularDataNode.Items.OrderBy(t => cacheItems[t.AtomIndex].Value, comparer).ToList()); }
public void ShouldReturnFalseWhenDayIsNotToday() { var dayCompare = new DayComparer(); Assert.False(dayCompare.Compare(DateTime.UtcNow.AddDays(-1).DayOfWeek)); }
public void ShouldReturnTrueWhenDayIsToday() { var dayCompare = new DayComparer(); Assert.True(dayCompare.Compare(DateTime.UtcNow.DayOfWeek)); }