Exemple #1
0
        public void GetLessonsForStudent_StudentHasNoEnrolments()
        {
            var context = InMemoryContextFactory.CreateSchoolContext();

            var testStudent = new Student()
            {
                Name = "Testee", Email = "*****@*****.**", Degree = "Bachelor of Testing"
            };
            var testStaff = new Staff()
            {
                Name = "Tester", Email = "*****@*****.**", JobTitle = "Lead tester"
            };
            var testSubject1 = new Subject()
            {
                Code = "TES101", Name = "Intro to testing", Description = "The basics of good unit testing"
            };
            var testSubject2 = new Subject()
            {
                Code = "TES102", Name = "Testing fundamentals", Description = "The next steps for good unit testing"
            };

            context.Add(testStudent);
            context.Add(testStaff);
            context.AddRange(testSubject1, testSubject2);
            context.SaveChanges();

            Assert.That(TimetableHelper.GetLessonsForStudent(testStudent), Is.Empty, "Student timetable should be empty");
        }
Exemple #2
0
        static void PrintTimeTableForStudent(Student student)
        {
            Console.WriteLine($"{"Name:",-10}{student.Name}");
            Console.WriteLine($"{"Email:",-10}{student.Email}");
            Console.WriteLine($"{"Degree:",-10}{student.Degree}");
            Console.WriteLine("Timetable:");

            var lessons = TimetableHelper.GetLessonsForStudent(student);

            foreach (var lesson in lessons)
            {
                Console.WriteLine($"{lesson.Subject.Code} {lesson.LessonType}: {lesson.StartTime} - {lesson.EndTime}, Room: {lesson.RoomNumber}, Teacher: {lesson.Teacher.Name}");
            }

            Console.WriteLine(new string('-', 60));
        }
Exemple #3
0
 private void SaveTimetable_button_Click(object sender, EventArgs e) => TimetableHelper.SaveTimetable();
Exemple #4
0
 private void StartNewWeek_button_Click(object sender, EventArgs e)
 {
     GradesHelper.ShowWeeklyAndMonthlyGrades();
     TimetableHelper.StartNewWeek();
 }
Exemple #5
0
        public void GetLessonsForStudent()
        {
            var context = InMemoryContextFactory.CreateSchoolContext();

            var testStudent = new Student()
            {
                Name = "Testee", Email = "*****@*****.**", Degree = "Bachelor of Testing"
            };
            var testStaff = new Staff()
            {
                Name = "Tester", Email = "*****@*****.**", JobTitle = "Lead tester"
            };
            var testSubject1 = new Subject()
            {
                Code = "TES101", Name = "Intro to testing", Description = "The basics of good unit testing"
            };
            var testSubject2 = new Subject()
            {
                Code = "TES102", Name = "Testing fundamentals", Description = "The next steps for good unit testing"
            };
            var testSubject3 = new Subject()
            {
                Code = "TES103", Name = "Advanced Testing", Description = "Advanced theory unit testing"
            };
            var testClass1 = new Lesson()
            {
                Subject = testSubject1, Teacher = testStaff, StartTime = "MON 10:00", EndTime = "MON 11:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };
            var testClass2 = new Lesson()
            {
                Subject = testSubject1, Teacher = testStaff, StartTime = "TUE 10:00", EndTime = "TUE 11:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };
            var testClass3 = new Lesson()
            {
                Subject = testSubject1, Teacher = testStaff, StartTime = "WED 10:00", EndTime = "WED 11:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };
            var testClass4 = new Lesson()
            {
                Subject = testSubject2, Teacher = testStaff, StartTime = "MON 11:00", EndTime = "MON 12:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };
            var testClass5 = new Lesson()
            {
                Subject = testSubject2, Teacher = testStaff, StartTime = "TUE 11:00", EndTime = "TUE 12:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };
            var testClass6 = new Lesson()
            {
                Subject = testSubject3, Teacher = testStaff, StartTime = "MON 13:00", EndTime = "TUE 14:00", LessonType = LessonType.Lecture, RoomNumber = "123"
            };

            var enrolment1 = new Enrolment()
            {
                Student = testStudent, Subject = testSubject1
            };
            var enrolment2 = new Enrolment()
            {
                Student = testStudent, Subject = testSubject3
            };

            context.Add(testStudent);
            context.Add(testStaff);
            context.AddRange(testSubject1, testSubject2, testSubject3);
            context.AddRange(testClass1, testClass2, testClass3, testClass4, testClass5, testClass6);
            context.AddRange(enrolment1, enrolment2);
            context.SaveChanges();

            Assert.That(TimetableHelper.GetLessonsForStudent(testStudent), Is.EquivalentTo(new[] { testClass1, testClass2, testClass3, testClass6 }), "Student timetable should contain 4 lessons");
        }