public void CreateWeek() { //arrange int weekStartOne = 1; int weekStartTwo = 2; int weekStartThree = 3; int weekEndOne = 10; int weekEndTwo = 9; int weekEndThree = 7; //act WorkWeek weekOne = new WorkWeek(WeekDays.Sunday, weekStartOne, weekEndOne); WorkWeek weekTwo = new WorkWeek(WeekDays.Sunday, weekStartTwo, weekEndTwo); WorkWeek weekThree = new WorkWeek(WeekDays.Sunday, weekStartThree, weekEndThree); //assert Assert.AreEqual(weekStartOne, weekOne.StartDate); Assert.AreEqual(weekEndOne, weekOne.EndDate); Assert.AreEqual(weekStartTwo, weekTwo.StartDate); Assert.AreEqual(weekEndTwo, weekTwo.EndDate); Assert.AreEqual(weekStartThree, weekThree.StartDate); Assert.AreEqual(weekEndThree, weekThree.EndDate); }
//--------------------METHODS------------------------------ /// <summary> /// Method to create the weeks contained within the Month. /// This method will calculate how to distribute the days across the /// weeks inside of the Month, based on how many days are in the Month. /// </summary> private void CreateWeeks() { string beginningWeekDay = string.Format("{0:dddd}", MonthBegin); DateTime weekStart = MonthBegin; DateTime weekEnd = GetNewEndDate(beginningWeekDay, weekStart); bool finishFlag = false; for (int idx = 0; weekEnd.Month == MonthEnd.Month; idx++) { workWeeks[idx] = new WorkWeek(weekStart, weekEnd); beginningWeekDay = "Sunday"; weekStart = weekEnd.AddDays(1); weekEnd = GetNewEndDate(beginningWeekDay, weekStart); if ((weekEnd.Month != MonthEnd.Month || weekEnd.Day == MonthEnd.Day) && finishFlag == false) { weekEnd = MonthEnd; finishFlag = true; } } }