Beispiel #1
0
        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);
        }
Beispiel #2
0
        //--------------------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;
                }
            }
        }