Example #1
0
        public void EvaluateCorrect()
        {
            var rule          = new NoMoreThanOneMeetingAtTimeForTeacherRule();
            var meetingToAdd  = MeetingCreator.CreateMeeting("OOP 514 Eg 0 2 0 1 FT-202#1");
            var actualPenalty = rule.Evaluate(
                MeetingCreator.StandardLearningPlan, MeetingCreator.StandardRequisition, MeetingCreator.StandardSchedule, meetingToAdd);

            Assert.AreEqual(0, actualPenalty);
        }
        public void EvaluateCorrect()
        {
            var rule          = new NumberOfClassesInARow();
            var meetingToAdd  = MeetingCreator.CreateMeeting("Math 623 Fil 0 4 0 0 FT-202#0");
            var actualPenalty = rule.Evaluate(
                MeetingCreator.StandardLearningPlan, MeetingCreator.StandardRequisition, MeetingCreator.StandardSchedule, meetingToAdd);

            Assert.AreEqual(0, actualPenalty);
        }
Example #3
0
        public void EvaluateIncorrect()
        {
            var rule          = new NoMoreThanOneMeetingAtTimeForTeacherRule();
            var meetingToAdd  = MeetingCreator.CreateMeeting("DM 623 Fil 0 3 0 0 FT-203#0");
            var actualPenalty = rule.Evaluate(
                MeetingCreator.StandardLearningPlan, MeetingCreator.StandardRequisition, MeetingCreator.StandardSchedule, meetingToAdd);

            Assert.AreEqual(rule.UnitPenalty, actualPenalty);
        }
        public void EvaluateIncorrect()
        {
            var meetingToAdd = MeetingCreator.CreateMeeting("OOP 514 Eg 0 2 0 2 KN-201#1");

            var lecturerHasPracticeWithSameFlowRule = new LecturerHasPracticeWithSameFlow();
            var actualPenalty = lecturerHasPracticeWithSameFlowRule.Evaluate(standardLearningPlan, standardRequisition, standardSchedule, meetingToAdd);

            Assert.AreEqual(lecturerHasPracticeWithSameFlowRule.UnitPenalty, actualPenalty);
        }
        public void EvaluateIncorrect()
        {
            var rule          = new NoWindowBetweenClassesUnlessPE();
            var meetingToAdd  = MeetingCreator.CreateMeeting("Math 623 Fil 0 5 0 0 FT-202#0");
            var actualPenalty = rule.Evaluate(
                MeetingCreator.StandardLearningPlan, MeetingCreator.StandardRequisition, MeetingCreator.StandardSchedule, meetingToAdd);

            Assert.AreEqual(rule.UnitPenalty, actualPenalty);
        }
        public void EvaluateWhenNoPracticesInPlan()
        {
            var learningPlanItems = new[] { new LearningPlanItem("FT-202", new Discipline("OOP"), MeetingType.Lecture, GroupSize.HalfGroup, 2) };
            var learningPlan      = new LearningPlan(learningPlanItems);
            var testSchedule      = new Schedule(new Meeting[] { });
            var meetingToAdd      = MeetingCreator.CreateMeeting("OOP 514 Eg 0 2 0 1 FT-202#1");

            var lecturerHasPracticeWithSameFlowRule = new LecturerHasPracticeWithSameFlow();
            var actualPenalty = lecturerHasPracticeWithSameFlowRule.Evaluate(learningPlan, standardRequisition, testSchedule, meetingToAdd);

            Assert.AreEqual(0, actualPenalty);
        }
        public void EvaluateIncorrect()
        {
            var schedule = new Schedule(new[] {
                MeetingCreator.CreateMeeting("Math 623 Fil 0 0 0 0 FT-202#0"),
                MeetingCreator.CreateMeeting("OOP 623 Fil 0 1 0 0 FT-202#0"),
                MeetingCreator.CreateMeeting("DM 622 Str 0 2 0 0 FT-202#0"),
                MeetingCreator.CreateMeeting("Math 622 Str 0 3 1 0 FT-202#0"),
                MeetingCreator.CreateMeeting("Pyth 622 Str 0 4 0 0 FT-202#0"),
            });
            var rule          = new NumberOfClassesInARow();
            var meetingToAdd  = MeetingCreator.CreateMeeting("Pyth 622 Str 0 5 0 0 FT-202#0");
            var actualPenalty = rule.Evaluate(
                MeetingCreator.StandardLearningPlan, MeetingCreator.StandardRequisition, schedule, meetingToAdd);

            Assert.AreEqual(rule.UnitPenalty, actualPenalty);
        }
        public void Test1()
        {
            var testSchedule = new Schedule(new[] {
                MeetingCreator.CreateMeeting("Math 623 Fil 0 3 0 0 FT-202#0 FT-201#0 KN-201#2"),
                MeetingCreator.CreateMeeting("DM 622 Str 0 0 0 0 FT-202#0 KN-201#0"),
                MeetingCreator.CreateMeeting("OOP 526 Eg 0 2 0 0 FT-202#1 FT-202#0 FT-201#1 FT-201#2"),
                MeetingCreator.CreateMeeting("Net 150 Ber 0 1 1 0 FT-202#0"),
                MeetingCreator.CreateMeeting("Net 150 Ber 0 1 0 0 FT-201#1"),
            });
            var credentialDirPath = Environment.GetEnvironmentVariable(CredentialsEnvVar);
            var credentialPath    = credentialDirPath + "\\client_secrets.json";
            var url       = "https://docs.google.com/spreadsheets/d/1JxL_CTuc-NLaBRdY5F4vz3yn6WJe8bp-7Mn7ViycjtQ/edit#gid=0";
            var repo      = new GSRepository(ApplicationName, credentialPath, url);
            var converter = new ScheduleSpreadsheetConverter(repo, repo.CurrentSheetInfo.Sheets.Keys.First());

            converter.Build(testSchedule);

            Assert.Pass();
        }