public void NextDayOfTheWeek_NextWeekdateIncludeCurrentDay() { var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", true); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-1 3:00 PM")); output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", true); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-2 3:00 PM")); output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", true); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-7 3:00 PM")); }
public void NextDayOfTheWeek_NextWeekdateTwoWeeks() { // Since we're not including the current day, we advance to next two week's out to Tuesday, 5/15 var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", false, 2); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-15 3:00 PM")); // Since Wednesday has not happened, we advance two Wednesdays -- which is Wed, 5/9 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", false, 2); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-9 3:00 PM")); // Since Monday has passed, we advance to two week's out Monday, 5/14 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", false, 2); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-14 3:00 PM")); }
public void OrderBy_FromObject_GroupMemberPersonName() { var expected = new List <int>() { 1, 2, 3, 4 }; var members = new List <GroupMember> { new GroupMember { Id = 2, Person = new Person { FirstName = "Zippey", LastName = "Jones" } }, new GroupMember { Id = 4, Person = new Person { FirstName = "Nancy", LastName = "Smith" } }, new GroupMember { Id = 1, Person = new Person { FirstName = "Adele", LastName = "Jones" } }, new GroupMember { Id = 3, Person = new Person { FirstName = "Fred", LastName = "Smith" } }, }; var output = (List <object>)RockFilters.OrderBy(members, "Person.LastName, Person.FirstName"); var sortedIds = output.Cast <dynamic>().Select(x => x.Id).Cast <int>().ToList(); CollectionAssert.AreEquivalent(expected, sortedIds); }
public void NextDayOfTheWeek_NextWeekdate() { // Since we're not including the current day, we advance to next week's Tuesday, 5/8 var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday"); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-8 3:00 PM")); // Since Wednesday has not happened, we advance to it -- which is Wed, 5/2 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday"); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-2 3:00 PM")); // Since Monday has passed, we advance to next week's Monday, 5/7 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday"); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-7 3:00 PM")); // From the Lava documentation output = RockFilters.NextDayOfTheWeek("2011-2-9 3:00 PM", "Friday"); DateTimeAssert.AreEqual(output, DateTime.Parse("2011-2-11 3:00 PM")); }
public void NextDayOfTheWeek_NextWeekdateBackOneWeek() { // In this case, since it's Tuesday (and we're not including current day), then // the current day counts as the *previous* week's Tuesday. var output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", false, -1); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-5-1 3:00 PM")); // If we include the current day (so it counts as *this* week), then one week ago would be // last Tuesday, April 24. output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Tuesday", true, -1); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-24 3:00 PM")); // Get previous week's Wednesday, 4/25 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Wednesday", false, -1); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-25 3:00 PM")); // Since Monday has just passed, we get this past Monday, 4/30 output = RockFilters.NextDayOfTheWeek("2018-5-1 3:00 PM", "Monday", false, -1); DateTimeAssert.AreEqual(output, DateTime.Parse("2018-4-30 3:00 PM")); }