public void Test_ScheduleCourse_ProfessorIsTeachingCourseAtSameTime()
        {
            MockDatabase <CourseSchedule> mockDB = new MockDatabase <CourseSchedule>(c => c.CourseSchedules);
            RegistrationData data = new RegistrationData(mockDB.Context);

            CourseSchedule existingCourseSchedule = new CourseSchedule
            {
                Schedule = new Schedule {
                    StartTime = new TimeSpan(8, 0, 0), TimeBlocks = 2
                }
            };
            Person professor = new Person {
                PersonId = 5, CourseSchedules = new List <CourseSchedule> {
                    existingCourseSchedule
                }
            };
            Schedule schedule = new Schedule {
                StartTime = new TimeSpan(9, 30, 0), TimeBlocks = 1
            };
            Course course = new Course
            {
                CourseSchedules = new List <CourseSchedule>
                {
                    existingCourseSchedule
                }
            };

            data.ScheduleCourse(course, schedule, professor, 3);

            mockDB.MockSet.Verify(m => m.Add(It.IsAny <CourseSchedule>()), Times.Never());
            mockDB.MockContext.Verify(m => m.SaveChanges(), Times.Never());
        }
Esempio n. 2
0
        public bool ScheduleCourse(int courseId, int professorId, int scheduleId, short capacity)
        {
            Course   course    = data.FindOrCreateCourse(courseId);
            Schedule schedule  = data.FindOrCreateSchedule(scheduleId);
            Person   professor = data.FindOrCreatePerson(professorId);

            return(data.ScheduleCourse(course, schedule, professor, capacity));
        }
        public void Test_ScheduleCourse_InvalidCapacity()
        {
            MockDatabase <CourseSchedule> mockDB = new MockDatabase <CourseSchedule>(c => c.CourseSchedules);
            RegistrationData data = new RegistrationData(mockDB.Context);

            Course course = new Course {
                CourseSchedules = new List <CourseSchedule>()
            };
            Schedule schedule = new Schedule {
                StartTime = new TimeSpan(8, 0, 0), TimeBlocks = 1
            };
            Person professor = new Person();

            data.ScheduleCourse(course, schedule, professor, 0);

            mockDB.MockSet.Verify(m => m.Add(It.IsAny <CourseSchedule>()), Times.Never());
            mockDB.MockContext.Verify(m => m.SaveChanges(), Times.Never());
        }