def test_size_recursion(self): cl = CourseList() for i in range(1000, 1010): cl.insert(Course(i, "Test", 1.0, 1.0)) RecursionCounter.recursion_count = 0 cl.size() self.assertGreater(RecursionCounter.recursion_count, 9)
def test_remove_all(self): cl = CourseList() cl.insert(Course(1000)) for _ in range(20): cl.insert(Course(1200)) cl.insert(Course(1800)) self.assertEqual(cl.size(), 22) cl.remove_all(1200) self.assertEqual(cl.size(), 2)
def test_remove_all(): cl = CourseList() cl.insert(Course(1000, "", 0.0, 0.0)) for _ in range(20): cl.insert(Course(1200, "", 0.0, 0.0)) cl.insert(Course(1800, "", 0.0, 0.0)) assert cl.size() == 22 cl.remove_all(1200) assert cl.size() == 2
def test_empty_courselist(self): cl = CourseList() self.assertIsNone(cl.head) self.assertEqual(cl.size(), 0) self.assertAlmostEqual(cl.calculate_gpa(), 0.0) self.assertAlmostEqual(cl.calculate_gpa(), 0.0) self.assertTrue(cl.is_sorted())
def test_empty_courselist(): cl = CourseList() assert cl.head == None assert cl.size() == 0 assert cl.calculate_gpa() == 0.0 assert cl.calculate_gpa() == 0.0 assert cl.is_sorted()
def test_insert(self): random.seed(0) cl = CourseList() for i in range(37): cl.insert(Course(random.randrange(1000, 7000), "test", 1.0, 2.0)) self.assertEqual(cl.size(), 37) self.assertTrue(cl.is_sorted())
def test_insert(): random.seed(0) cl = CourseList() for _ in range(37): cl.insert(Course(random.randrange(1000, 7000), "test", 1.0, 2.0)) assert cl.size() == 37 assert cl.is_sorted()
def main (): filePath = "data.txt" # path of file to access. file = open(filePath) # opens file. lines = len(file.readlines()) # accesses number of lines in data file. file = open(filePath) # reopens data file. number = 0 # temporary variable for class number. name = " " # temporary variable for class name. credit = 0 # temporary variable for credit hours. grade = 0.0 # temporary variable for grades. schedule = CourseList(None) # empty CourseList object. for x in range(lines - 1): # for loop parsing each line of data file. firstLine = file.readline() comma = firstLine.index(',') number = firstLine[0:comma] # accesses class number. firstLine = firstLine[comma + 1:len(firstLine)] comma = firstLine.index(',') name = firstLine[0:comma] # accesses class name. firstLine = firstLine[comma + 1:len(firstLine)] comma = firstLine.index(',') credit = firstLine[0:comma] # accesses credit hours. firstLine = firstLine[comma + 1:len(firstLine)] grade = firstLine # accesses grade. schedule.insert(Course(int(number), name, float(credit), float(grade), None)) # inserts a Course object into the CourseList object using parsed data. firstLine = file.readline() # repeats parsing process for last line of the data file. comma = firstLine.index(',') number = firstLine[0:comma] firstLine = firstLine[comma + 1:len(firstLine)] comma = firstLine.index(',') name = firstLine[0:comma] firstLine = firstLine[comma + 1:len(firstLine)] comma = firstLine.index(',') credit = firstLine[0:comma] firstLine = firstLine[comma + 1:len(firstLine)] grade = firstLine schedule.insert(Course(int(number), name, int(credit), float(grade), None)) # inserts last Course object. print("Current List: (", schedule.size(), ")") # prints out current CourseList object size. print("\n") print(schedule) # prints current CourseList with inserted courses. print("\n\n\n") print("Cumulative GPA: ", schedule.calculate_gpa()) # prints out cumulative GPA.
def test_remove(self): random.seed(0) cl = CourseList() courseNumbers = [] for _ in range(37): courseNumbers.append(random.randrange(1000, 7000)) for number in courseNumbers: cl.insert(Course(number, "test", 1.0, 2.0)) course = cl.find(courseNumbers[0]) self.assertEqual(course.number(), courseNumbers[0]) course = cl.find(courseNumbers[10]) self.assertEqual(course.number(), courseNumbers[10]) course = cl.find(courseNumbers[36]) self.assertEqual(course.number(), courseNumbers[36]) for i in range(0, 30, 3): cl.remove(courseNumbers[i]) self.assertEqual(cl.size(), 27) self.assertTrue(cl.is_sorted())
def test_remove(): random.seed(0) cl = CourseList() courseNumbers = [] for _ in range(37): courseNumbers.append(random.randrange(1000, 7000)) for number in courseNumbers: cl.insert(Course(number, "test", 1.0, 2.0)) course = cl.find(courseNumbers[0]) assert course.number() == courseNumbers[0] course = cl.find(courseNumbers[10]) assert course.number() == courseNumbers[10] course = cl.find(courseNumbers[36]) assert course.number() == courseNumbers[36] for i in range(0, 30, 3): cl.remove(courseNumbers[i]) assert cl.size() == 27 assert cl.is_sorted()