public void DayOfWeekInMonthShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 1 ); var expected = new DateTime( 2013, 3, 11 ); var actual = date.DayOfWeekInMonth( 2, DayOfWeek.Monday ); Assert.Equal( expected.Date, actual.Date ); }
public void DayOfWeekInMonthWithCalendarShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 1 ); var calendar = new GregorianFiscalCalendar( 7 ); var expected = new DateTime( 2013, 3, 11 ); var actual = date.DayOfWeekInMonth( 2, DayOfWeek.Monday, calendar ); Assert.Equal( expected.Date, actual.Date ); }
public static DateTime DayOfWeekInMonth( this Calendar calendar, DateTime date, int occurrence, DayOfWeek dayOfWeek ) { Arg.NotNull( calendar, nameof( calendar ) ); Contract.Ensures( Contract.Result<DateTime>().Month == Contract.OldValue( date.Month ) ); Contract.Ensures( Contract.Result<DateTime>().Year == Contract.OldValue( date.Year ) ); Contract.Ensures( Contract.Result<DateTime>().DayOfWeek == dayOfWeek ); Arg.GreaterThan( occurrence, 0, "occurrence" ); return date.DayOfWeekInMonth( occurrence, dayOfWeek, calendar ); }