Esempio n. 1
0
 def test_hash_not_depending_on_order(self):
     oneorder = Courses()
     otherorder = Courses()
     metal = Course('metalli', 'beep.com')
     polim = Course('polimeri', 'beep.it')
     oneorder.append(metal, polim)
     otherorder.append(polim, metal)
     assert hash(oneorder) == hash(otherorder)
Esempio n. 2
0
 def test_remove(self):
     all = Courses()
     one = Courses()
     metal = Course('metalli', 'beep.com')
     other = Course('other', 'doesntmatter')
     all.append(metal, other)
     one.append(other)
     all.remove(metal)
     assert all == one
Esempio n. 3
0
 def test_append(self):
     metal = Course('metalli', 'beep.com')
     other = Course('other', 'doesntmatter')
     oneatatime = Courses()
     # append in two steps
     oneatatime.append(metal)
     oneatatime.append(other)
     twocourses = Courses()
     twocourses.append(other, metal)
     # append in one step
     assert twocourses == oneatatime
Esempio n. 4
0
    def test_difference(self):
        offline_metal = Course('metalli', 'beep.com')
        offline_polim = Course('polimeri', 'beep.it')
        metal = Course('metalli', 'beep.com')
        polim = Course('polimeri', 'beep.it')

        offline = Courses()
        offline.append(offline_polim, offline_metal)
        online = Courses()
        online.append(metal, polim)
        for course in online:
            print('online {}'.format(course.name))
        for course in offline:
            print('offline {}'.format(course.name))
        assert online - offline == []
Esempio n. 5
0
 def test_notbelonging(self):
     metal = Course('metalli', 'beep.com')
     courseinside = Course('polimeri', 'beep.com')
     other = Course('other', 'doesntmatter')
     courses = Courses()
     courses.append(courseinside, other)
     assert metal not in courses
Esempio n. 6
0
 def test_belonging(self):
     metal = Course('metalli', 'beep.com')
     metalinside = Course('metalli', 'beep.com')
     other = Course('other', 'doesntmatter')
     courses = Courses()
     courses.append(metalinside, other)
     assert metal in courses
Esempio n. 7
0
 def test_ignorebeepcourse(self):
     clean_list = [
         Course(
             '[2014-15] - ADVANCED CHEMISTRY FOR MATERIALS ENGINEERING [ MATERIALS ENGINEERING AND NANOTECHNOLOGY ]',
             'beep.com'),
         Course(
             '[2014-15] - DURABILITY OF MATERIALS [ MATERIALS ENGINEERING AND NANOTECHNOLOGY ]',
             'beep.com'),
         Course(
             '[2014-15] - FAILURE AND CONTROL OF METALS [ MAURIZIO VEDANI ]',
             'beep.com'),
         Course(
             '[2014-15] - MATHEMATICAL METHODS FOR MATERIALS ENGINEERING [ MICHELE DI CRISTO ]',
             'beep.com'),
         Course(
             '[2014-15] - MECHANICAL BEHAVIOUR OF MATERIALS [ LAURA VERGANI ]',
             'beep.com'),
         Course(
             '[2014-15] - MICRO ELECTRO MECHANICAL SYSTEMS (MEMS) [ ALBERTO CORIGLIANO ]',
             'beep.com'),
         Course(
             '[2014-15] - PHYSICAL PROPERTIES OF MOLECULAR MATERIALS [ MATTEO MARIA SAVERIO TOMMASINI ]',
             'beep.com'),
         Course('[2014-15] - PHYSICS OF NANOSTRUCTURES [ CARLO S. CASARI ]',
                'beep.com'),
         Course('[2014-15] - SOLID STATE PHYSICS [ CARLO ENRICO BOTTANI ]',
                'beep.com'),
         Course(
             '[2014-15] - STRUCTURAL CHEMISTRY OF MATERIALS [ GUIDO RAOS ]',
             'beep.com'),
     ]
     clean_courses = Courses()
     clean_courses.append(*clean_list)
     # the following file is an exact copy of what you get online.
     # It's a one-line document
     path = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                         'courses-page.html')
     with open(path) as fake_courses:
         text = fake_courses.read()
         user = User("doesn't matter", 'nope')
         temp_courses = user._courses_scraper(text)
         courses = Courses()
         for elem in temp_courses:
             course = Course(elem[0], elem[1])
             courses.append(course)
         assert courses == clean_courses
Esempio n. 8
0
def step_impl(context):
    new_course = Course('newcourse', 'fakelink')
    common_course = Course('common', 'commonlink')
    guy = User('fakeid', 'fakepwd')
    guy.available_courses.append(new_course, common_course)
    context.guy = guy
    online_courses = Courses()
    online_courses.append(common_course)
    context.online_courses = online_courses
Esempio n. 9
0
 def test_sync_courses_remove(self):
     guy = User('fakeid', 'fakepwd')
     metal = Course('metalli', 'beep.com')
     other = Course('other', 'doesntmatter')
     online = Courses()
     online.append(metal)
     guy.available_courses.append(metal, other)
     guy.sync_available_courses(online)
     assert guy.available_courses == online
Esempio n. 10
0
 def test__len__(self):
     courses = Courses()
     courses.append(Course('metalli', 'beep.com'),
                    Course('other', 'doesntmatter'))
     assert len(courses) == 2
Esempio n. 11
0
 def test_return_hash(self):
     courses = Courses()
     courses.append(Course('metalli', 'beep.com'))
     assert hash(courses) is not None