예제 #1
0
        public void TestAddDayWeek_SundayToDayOff()
        {
            ResetStandart();
            //arrange

            IDaysOfStudy[] var = new IDaysOfStudy[100];
            for (int i = 0; i < 100; i++)
            {
                var te = A.Fake <IDaysOfStudy>();
                te.Date  = DateTime.Now.AddDays(i);
                te.Study = HowDays.WorkingDay;
                var[i]   = te;
            }

            var semester = new Semester.Semester(standatrBeginSemestr, standatrEndSemestr);

            semester.DaysOfStudies = var;
            //act
            semester.AddDayWeek(DayOfWeek.Sunday, HowDays.DayOff);
            //assert
            foreach (var item in semester.DaysOfStudies)
            {
                if (item.Date.DayOfWeek == DayOfWeek.Sunday)
                {
                    Assert.AreEqual(HowDays.DayOff, item.Study);
                }
                else
                {
                    Assert.AreEqual(HowDays.WorkingDay, item.Study);
                }
            }
        }
        public void TestAddDayMany_RangeToWorkingDay(int allDays, int beginDay, int endDay)
        {
            ResetStandart();
            //arrange

            IDaysOfStudy[] var = new IDaysOfStudy[allDays];
            for (int i = 0; i < allDays; i++)
            {
                var te = A.Fake <IDaysOfStudy>();
                te.Date  = DateTime.Now.AddDays(i);
                te.Study = HowDays.DayOff;
                var[i]   = te;
            }

            var semester = new Semester.Semester(standatrBeginSemestr, standatrEndSemestr);

            semester.DaysOfStudies = var;
            for (int i = 0; i < allDays; i++)
            {
                Assert.AreEqual(HowDays.DayOff, semester.DaysOfStudies[i].Study);
            }
            //act
            semester.AddDayMany(HowDays.WorkingDay, var[0].Date.AddDays(beginDay), var[0].Date.AddDays(endDay));
            //assert
            for (int i = beginDay; i <= endDay; i++)
            {
                Assert.AreEqual(HowDays.WorkingDay, semester.DaysOfStudies[i].Study);
            }
        }
예제 #3
0
        public void TestAddDayOne_OneToDayOff(int allDays, int day)
        {
            ResetStandart();
            //arrange

            IDaysOfStudy[] var = new IDaysOfStudy[allDays];
            for (int i = 0; i < allDays; i++)
            {
                var te = A.Fake <IDaysOfStudy>();
                te.Date  = DateTime.Now.AddDays(i);
                te.Study = HowDays.WorkingDay;
                var[i]   = te;
            }

            var semester = new Semester.Semester(standatrBeginSemestr, standatrEndSemestr);

            semester.DaysOfStudies = var;
            for (int i = 0; i < allDays; i++)
            {
                Assert.AreEqual(HowDays.WorkingDay, semester.DaysOfStudies[i].Study);
            }
            //act
            semester.AddDayOne(HowDays.DayOff, var[0].Date.AddDays(day));

            //assert
            for (int i = 0; i < allDays; i++)
            {
                if (day == i)
                {
                    Assert.AreEqual(HowDays.DayOff, semester.DaysOfStudies[i].Study);
                }
                else
                {
                    Assert.AreEqual(HowDays.WorkingDay, semester.DaysOfStudies[i].Study);
                }
            }
        }