public void FirstDayOfWeekInMonthShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 1 ); var expected = new DateTime( 2013, 3, 4 ); var actual = date.FirstDayOfWeekInMonth( DayOfWeek.Monday ); Assert.Equal( expected.Date, actual.Date ); }
public void FirstDayOfWeekInMonthWithCalendarShouldReturnExpectedResult() { var date = new DateTime( 2013, 3, 1 ); var calendar = new GregorianFiscalCalendar( 7 ); var expected = new DateTime( 2013, 3, 4 ); var actual = date.FirstDayOfWeekInMonth( DayOfWeek.Monday, calendar ); Assert.Equal( expected.Date, actual.Date ); }
public static DateTime FirstDayOfWeekInMonth( this Calendar calendar, DateTime date, 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 ); return date.FirstDayOfWeekInMonth( dayOfWeek, calendar ); }