public void SubjectDistribution() { // Test creation of Scheme (containing list of: LessonDistBlock) with a Semester (containing: Dictionary<Subject, BlocksCount>, number) // Test adding block of LessonDistBlock (containing: Teacher, Subjects, BlocksCount) ClassModel aClass = new ClassModel { ClassName = "12t" }; Scheme scheme = new Scheme { ClassModel = aClass, Semester = Semester}; Assert.IsTrue(scheme.NeededSubjects().Contains(Subjects[0])); // Scheme should contain the needed subjects from the Semester Assert.IsTrue(scheme.NeededSubjects().Contains(Subjects[1])); Assert.IsTrue(scheme.NeededSubjects().Contains(Subjects[2])); Assert.IsFalse(scheme.NeededSubjects().Contains(Subjects[3])); // But not this one, because this subject is NOT in the given semester! Assert.IsTrue(scheme.AddLessonBlock(Teachers[0], Subjects[2], 30)); Assert.IsFalse(scheme.IsSubjectFull(Subjects[2], 5)); // Is the subject full if I was to try and add an additional 5? Should not be! Assert.IsTrue(scheme.IsSubjectFull(Subjects[2], 6)); // What I was to try and add 6? Should be! Assert.IsTrue(scheme.AddLessonBlock(Teachers[1], Subjects[0], 20)); Assert.IsFalse(scheme.IsSubjectFull(Subjects[1])); Assert.IsTrue(scheme.AddLessonBlock(Teachers[2], Subjects[1], 15)); Assert.IsFalse(scheme.IsSubjectFull(Subjects[1])); Assert.IsTrue(scheme.AddLessonBlock(Teachers[3], Subjects[1], 25)); Assert.IsTrue(scheme.IsSubjectFull(Subjects[1])); Assert.IsFalse(scheme.AddLessonBlock(Teachers[3], Subjects[1], 25)); // This lesson subject should be full - return false! }
public void setNewSemesterForClassTest() { Semester semester1 = new Semester { Id = 1, Number = 1 }; Semester semester2 = new Semester { Id = 2, Number = 2 }; Education education = new Education { Name = "DMU", Semesters = new List<Semester> { semester1, semester2 }, NumberOfSemesters = 2 }; ClassModel model = new ClassModel { Education = education, ClassName = "12T" }; DateTime start = DateTime.Today; DateTime finish = DateTime.Today.AddDays(30); SkemaSystem.Service.Service service = new SkemaSystem.Service.Service(); service.setNewSemesterForClass(model, semester1, start, finish); Assert.AreEqual(start, model.ActiveSchemes[0].SemesterStart); Assert.AreEqual(finish, model.ActiveSchemes[0].SemesterFinish); }
public void setNewSemesterForClass(ClassModel model, Semester semester, DateTime start, DateTime finish) { Scheme scheme = new Scheme { ClassModel = model, Semester = semester, SemesterStart = start, SemesterFinish = finish }; model.ActiveSchemes.Add(scheme); }