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);
        }
Example #3
0
        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);
        }