Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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
Ejemplo n.º 4
0
 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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 8
0
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.
Ejemplo n.º 9
0
    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())
Ejemplo n.º 10
0
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()