Example #1
0
def department_avg(department=None):
    storage = StaticStorage()
    departments = storage.list_departments()  # list all departments
    # departments = storage.list_courses('27')
    avg = {}
    for department in departments:
        grade_sum = 0
        n = 0
        print department
        for course in department.courses:  # NB department.courses is not writting now
            print course.code
            if course_avg(course) == None:
                # print course_avg(course)
                pass
            else:
                grade_sum += course_avg(course)
                n += 1
        avg[department.code] = grade_sum / n
    return avg
Example #2
0
def department_avg(department=None):
    storage = StaticStorage()
    departments = storage.list_departments() # list all departments
    #departments = storage.list_courses('27')
    avg = {}    
    for department in departments:
        grade_sum = 0
        n = 0
        #print department
        for course in department.courses: # NB department.courses is not writting now
            #print course.code   
            if course_avg(course) == None:
                #print course.code, course_avg(course) # FOR DEVELOPMENT, good for finding strange courses.
                # These courses might be new courses without any grade history
                pass
            else:
                grade_sum += course_avg(course)
                n += 1
        #print "grade_sum = {}, n = {}".format(grade_sum,n) # FOR DEVELOPMENT
        avg[department.code] = float(grade_sum)/n # remember to make 
    return avg    
Example #3
0
def get_deparment_timeseries_data():
    department_timeseries_data = {}
    storage = StaticStorage()
    departments = storage.list_departments() # list all departments
    for department in departments():
        department_timeseries_data[department.code] = department_all_years_avgs(department) #saving avg list
Example #4
0
class StorageTest(unittest.TestCase):

    maxDiff = None

    def setUp(self):
        data_file = os.path.join(data_dir(), 'test_courses.json')
        self.test_object = StaticStorage(data_file)

    def test_list_departments(self):
        expected_deps = set([Department('27', 'Department of Systems Biology', None), Department('11', 'Department of Civil Engineering', None)])
        departments = set(self.test_object.list_departments())
        self.assertEqual(expected_deps, departments)

    def test_list_all_courses(self):
        actual_courses = self.test_object.list_all_courses()
        self.assertEqual(COURSES, actual_courses)

    def test_find_department_by_code(self):
        expected = Department('11', 'Department of Civil Engineering', None)
        department= self.test_object.find_department_by_code('11')
        self.assertEqual(expected, department)

    @unittest.skip("TODO")
    def test_empty_storage(self):
        courses = self.test_object.list_all_courses()
        update_date = self.test_object.last_update_date()
        self.assertEqual(None, courses)
        self.assertEqual(None, update_date)

    @unittest.skip("not required ATM")
    def test_basic_storage_date(self):
        self.test_object.store_course_base(self.EXAMPLE_JSON)
        update_date = self.test_object.last_update_date()
        expected_date = datetime.date.today()
        self.assertEqual(expected_date, update_date, "Date is not today's date.")

    @unittest.skip("not required ATM")
    def test_basic_store_read(self):
        self.test_object.store_course_base(self.EXAMPLE_JSON)
        courses = self.test_object.list_all_courses()
        expected_courses = datetime.date.today()
        self.assertEqual(courses, expected_courses, 'Courses read are not the same as courses stored')
Example #5
0
 def setUp(self):
     data_file = os.path.join(data_dir(), 'test_courses.json')
     self.test_object = StaticStorage(data_file)