def test_byCourseLevel_lessThanOrEqualTo(self): """ Test that course level search returns correct results for less than or equal to comparison """ d = DescSearches() self.assertTrue(len(d.byCourseLevel(self.three_courses, "1", "<=")) == 0) self.assertTrue(len(d.byCourseLevel(self.three_courses, "2", "<=")) == 1) self.assertTrue(len(d.byCourseLevel(self.three_courses, "3", "<=")) == 2) self.assertTrue(len(d.byCourseLevel(self.three_courses, "4", "<=")) == 3) self.assertTrue(len(d.byCourseLevel(self.three_courses, "5", "<=")) == 3)
def test_byCourseLevel_greaterThan(self): """ Test that course level search returns correct results for greater than comparison """ d = DescSearches() self.assertTrue(len(d.byCourseLevel(self.three_courses, "1", ">")) == 3) self.assertTrue(len(d.byCourseLevel(self.three_courses, "2", ">")) == 2) self.assertTrue(len(d.byCourseLevel(self.three_courses, "3", ">")) == 1) self.assertTrue(len(d.byCourseLevel(self.three_courses, "4", ">")) == 0) self.assertTrue(len(d.byCourseLevel(self.three_courses, "5", ">")) == 0)
def test_byCourseLevel_invalid(self): """ Test that course level search raises exceptions for invalid numbers """ d = DescSearches() with self.assertRaises(Exception) : d.byCourseLevel(self.single_course, "0", '=') with self.assertRaises(Exception) : d.byCourseLevel(self.single_course, "11", '=') with self.assertRaises(Exception) : d.byCourseLevel(self.single_course, "a", '=') with self.assertRaises(Exception) : d.byCourseLevel(self.single_course, 4, '=')
class TestIntegration(unittest.TestCase): @classmethod def setUpClass(self): self.search = DescSearches() converter = PDFConverter() converter.openPDF("./c12.pdf") parser = CourseParser() self.courses = parser.open_file("converted-pdf.txt") def test_findCIS4250(self): socsCourses = self.search.byDepartment(self.courses, "School of Computer Science", "=") cisCourses = self.search.byCourseCode(socsCourses, "CIS", "=") fourthYearCourses = self.search.byCourseLevel(cisCourses, "4", "=") cis4250 = self.search.byCourseNumber(fourthYearCourses,"4250", "=") self.assertTrue(cis4250[0].code == "CIS" and cis4250[0].number == "4250") def test_findENVS1060(self): oneCreditCourses = self.search.byWeight(self.courses, 0.5, "=") summerCourses = self.search.bySemester(oneCreditCourses, SemesterOffered.S, "=") soesCourses = self.search.byDepartment(summerCourses, "School of Environmental Sciences", "=") firstYearCourses = self.search.byCourseLevel(soesCourses, "1", "=") envsCourses = self.search.byCourseCode(firstYearCourses, "ENVS", "=") envs1060 = self.search.byCourseNumber(envsCourses, "1060", "=") self.assertTrue(envs1060[0].code == "ENVS" and envs1060[0].number == "1060") def test_languageKeyword(self): languageKeywordCourses = self.search.byKeyword(self.courses, "language", "=") englishKeywordCourses = self.search.byKeyword(languageKeywordCourses, "english", "=") frenchKeywordCourses = self.search.byKeyword(englishKeywordCourses, "french", "=") fallCourses = self.search.bySemester(frenchKeywordCourses, SemesterOffered.F, "=") self.assertTrue(fallCourses[0].code == "FREN" and fallCourses[0].number == "3500")
def test_byCourseLevel_none(self): """ Test that course level search returns no results if no matches are found """ d = DescSearches() self.assertTrue(len(d.byCourseLevel(self.single_course, "1", '=')) == 0)
def test_byCourseLevel(self): """ Test that course level search returns correct results """ d = DescSearches() self.assertTrue(len(d.byCourseLevel(self.single_course, "4", '=')) == 1)