예제 #1
0
        public async Task SimpleTest()
        {
            var facultyGroups = await groupsHolder.GetFacultiesGroups();

            var facultyGroup = facultyGroups.FirstOrDefault(g => g.Name == "11 І");

            //act
            var testLessonsList = new List <Lesson>(
                (await _lessonProvider.GetLessonsOnDate(facultyGroup, new DateTime(2019, 10, 2)))
                .Lessons);

            //assert
            Assert.AreEqual(4, testLessonsList.Count);

            var assert1 = testLessonsList.Where(l => l.LessonNumber == 1).ToList();

            Assert.AreEqual(1, assert1.Count);
            var lesson1 = assert1[0];

            Assert.AreEqual("98", lesson1.Lecturer.TypeId);
            Assert.AreEqual(Fraction.None, lesson1.Fraction);
            Assert.AreEqual(SubGroup.None, lesson1.SubGroup);

            var assert2 = testLessonsList.Where(l => l.LessonNumber == 2).ToList();

            Assert.AreEqual(1, assert2.Count);
            var lesson2 = assert2[0];

            Assert.AreEqual("616", lesson2.Lecturer.TypeId);
            Assert.AreEqual(Fraction.None, lesson2.Fraction);
            Assert.AreEqual(SubGroup.None, lesson2.SubGroup);

            var assert3 = testLessonsList.Where(l => l.LessonNumber == 3).ToList();

            Assert.AreEqual(1, assert3.Count);
            var lesson3 = assert3[0];

            Assert.AreEqual("83", lesson3.Lecturer.TypeId);
            Assert.AreEqual(Fraction.None, lesson3.Fraction);
            Assert.AreEqual(SubGroup.None, lesson3.SubGroup);


            var assert4 = testLessonsList.Where(l => l.LessonNumber == 4).ToList();

            Assert.AreEqual(1, assert3.Count);
            var lesson4 = assert4[0];

            Assert.AreEqual("1262", lesson4.Lecturer.TypeId);
            Assert.AreEqual(Fraction.None, lesson4.Fraction);
            Assert.AreEqual(SubGroup.None, lesson4.SubGroup);
        }
        /*
         * Some legacy
         */

        public async Task <ICollection <ExtendedLesson> > Transform(ICollection <CalendarRawItem> calendarRawList, Faculty faculty)
        {
            var resultList = new List <ExtendedLesson>(calendarRawList.Count);

            foreach (var calendarRawItem in calendarRawList)
            {
                var lesson = new ExtendedLesson();
                //Set lesson date
                lesson.LessonSetUpDate = calendarRawItem.LessonSetDate;
                //Set subject
                if (!string.IsNullOrEmpty(calendarRawItem.SubjectName))
                {
                    var subject = new Subject(calendarRawItem.SubjectName);
                    lesson.Subject = subject;
                }

                //Set group
                lesson.Group = (await _groupsHolder.GetFacultiesGroups().ConfigureAwait(false))
                               .FirstOrDefault(a => a.TypeId == calendarRawItem.GroupId);

                //Set lecture
                lesson.Lecturer = (await _lecturersHolder.GetLecturers(faculty).ConfigureAwait(false))
                                  .FirstOrDefault(a => a.TypeId == calendarRawItem.LecturerId);

                //Set classroom
                lesson.Classroom = (await _classroomsHolder.GetClassrooms(faculty).ConfigureAwait(false))
                                   .FirstOrDefault(a => a.TypeId == calendarRawItem.ClassroomId);

                //Set LessonCount
                lesson.LessonCount = Convert.ToInt32(calendarRawItem.LessonCount);

                //Set LessonNumber
                lesson.LessonNumber = Convert.ToInt32(calendarRawItem.LessonNumber);

                //Set Fraction
                lesson.Fraction = (Fraction)calendarRawItem.Fraction;

                //Set Subgroup
                lesson.SubGroup = (SubGroup)calendarRawItem.SubGroup;
                resultList.Add(lesson);
            }

            return(resultList);
        }
 public Task <ICollection <Group> > GetFacultyGroups()
 {
     return(_groupsHolder.GetFacultiesGroups());
 }