public void Constructor_February2019_LastDayInFebruaryIsThursday()
        {
            AttendanceListData listData = GetAttendanceListData();

            IDay lastDay = listData.Days.LastOrDefault();

            Assert.That(lastDay.DayOfWeek, Is.Not.Null.And.EqualTo(DayOfWeek.Thursday));
        }
        public void MaxNumberOfFullnames_CorrectData_MaxNumberOfFullnamesIsEqualTo7()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.January, 2019);

            Assert.That(listData.MaxNumberOfFullnames, Is.EqualTo(7));
        }
        public void Constructor_CorrectYear_ObjectsYearIsEqualToGivenYear(int year)
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == year);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.January, year);

            Assert.That(listData.Year, Is.EqualTo(year));
        }
        public void Constructor_August2024_CreatesListOf31Days()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2024);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.August, 2024);

            Assert.That(listData.Days.Count, Is.EqualTo(31));
        }
        public void Constructor_February2020LeapYear_CreateListOf29Days()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2020);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.February, 2020);

            Assert.That(listData.Days.Count, Is.EqualTo(29));
        }
        public void Constructor_February2019_FirstDayInFebruaryIsFriday()
        {
            AttendanceListData listData = GetAttendanceListData();

            IDay firstDay = listData.Days.FirstOrDefault();

            Assert.That(firstDay.DayOfWeek, Is.Not.Null.And.EqualTo(DayOfWeek.Friday));
        }
        public void Constructor_CorrectMonth_ObjectsMonthIsEqualToGivenMonth(Month month)
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), month, 2019);

            Assert.That(listData.Month, Is.EqualTo(month));
        }
        public void Constructor_CorrectPeopleList_ObjectsPeopleListIsEqualToGivenList()
        {
            IDaysOffData    daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019);
            IList <IPerson> people  = GetListOfPeople();

            AttendanceListData monthData = new AttendanceListData(daysOff, people, Month.January, 2019);

            Assert.That(monthData.People, Is.EqualTo(people));
        }
        public void Constructor_June2019_FourteenthDayIsNotAHoliday()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.January, 2019);
            IDay day = listData.Days[13];

            Assert.That(day.Holiday, Is.EqualTo(Holiday.None));
        }
        public void Constructor_August2024_LastDayIsSaturday()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2024);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.August, 2024);
            IDay lastDay = listData.Days.LastOrDefault();

            Assert.That(lastDay.DayOfWeek, Is.Not.Null.And.EqualTo(DayOfWeek.Saturday));
        }
        public void Constructor_February2020LeapYear_FirstDayIsSaturday()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2020);

            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.February, 2020);
            IDay firstDay = listData.Days.FirstOrDefault();

            Assert.That(firstDay.DayOfWeek, Is.Not.Null.And.EqualTo(DayOfWeek.Saturday));
        }
        public void Constructor_June2019_TwentythDayIsCorpusChristiDay()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019 &&
                                                          d.GetDaysOff(Month.January) == new List <IDayOff>
            {
                Mock.Of <IDayOff>(x => x.Date == new DateTime(2019, 8, 9) && x.Holiday == Holiday.DescendOfTheHolySpirit),
                Mock.Of <IDayOff>(x => x.Date == new DateTime(2019, 8, 20) && x.Holiday == Holiday.CorpusChristi),
            });
            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.January, 2019);
            IDay day = listData.Days[19];

            Assert.That(day.Holiday, Is.EqualTo(Holiday.CorpusChristi));
        }
        public void Constructor_January2019_SixthDayIsEpiphany()
        {
            IDaysOffData daysOff = Mock.Of <IDaysOffData>(d => d.Year == 2019 &&
                                                          d.GetDaysOff(Month.January) == new List <IDayOff>
            {
                Mock.Of <IDayOff>(x => x.Date == new DateTime(2019, 1, 1) && x.Holiday == Holiday.NewYearsDay),
                Mock.Of <IDayOff>(x => x.Date == new DateTime(2019, 1, 6) && x.Holiday == Holiday.Epiphany),
            });
            AttendanceListData listData = new AttendanceListData(daysOff, GetListOfPeople(), Month.January, 2019);
            IDay day = listData.Days[5];

            Assert.That(day.Holiday, Is.EqualTo(Holiday.Epiphany));
        }
Exemplo n.º 14
0
        private void Generate()
        {
            IList <IPerson> people = GetPeopleList();

            // Generate data
            DaysOffData        daysOff  = new DaysOffData(Year);
            AttendanceListData listData = new AttendanceListData(daysOff, people, Month, Year);

            // Create document generator
            LocalizedNames localizedNames = new LocalizedNames();
            AttendanceListDocumentGenerator documentGenerator = new AttendanceListDocumentGenerator(listData, localizedNames);

            // Set document generator settings
            documentGenerator.EnableColors          = EnableColors;
            documentGenerator.EnableHolidaysTexts   = EnableHolidaysTexts;
            documentGenerator.EnableSundaysTexts    = EnableSundaysTexts;
            documentGenerator.EnableTableStretching = EnableTableStretching;

            // Generate a document
            Document document = documentGenerator.GenerateDocument();

            // Get directory path and filename
            DirectoryProvider directoryProvider = new DirectoryProvider(localizedNames);
            FilenameGenerator filenameGenerator = new FilenameGenerator(localizedNames, _dateTimeProvider);
            string            path     = directoryProvider.GetDocumentsDirectoryPath();
            string            filename = filenameGenerator.GeneratePdfDocumentFilename(listData);

            // Save document
            FileSaver fileSaver = new FileSaver();

            fileSaver.SavePdfDocument(document, path, filename);

            // And open it
            FileOpener fileOpener = new FileOpener();

            fileOpener.OpenFile(path, filename);

            SerializeSettings(directoryProvider, filenameGenerator, fileSaver);
        }
        public void Constructor_February2019_DaysListDoesNotContainAnyNull()
        {
            AttendanceListData listData = GetAttendanceListData();

            CollectionAssert.AllItemsAreNotNull(listData.Days);
        }
        public void Constructor_February2019_CreatesListOf28Days()
        {
            AttendanceListData listData = GetAttendanceListData();

            Assert.That(listData.Days.Count, Is.EqualTo(28));
        }