Beispiel #1
0
    def test_fixed_mounting_CRD(self):
        '''
            Tests creating, reading and deleting of fixed mountings.
        '''
        if not self.fixed_mounting_CRD_tested:
            model.add_fixed_mounting(self.test_module_code,
                                     self.test_module_fixed_mounting_s1,
                                     self.test_module_quota1)
            model.add_fixed_mounting(self.test_module_code,
                                     self.test_module_fixed_mounting_s2,
                                     self.test_module_quota2)

            mounting_data = model.get_fixed_mounting_and_quota(
                self.test_module_code)
            assert_equal(self.test_module_mounted_count, len(mounting_data))

            mounting_s1 = mounting_data[0][0]
            mounting_s2 = mounting_data[1][0]
            quota_s1 = mounting_data[0][1]
            quota_s2 = mounting_data[1][1]

            assert_equal(self.test_module_fixed_mounting_s1, mounting_s1)
            assert_equal(self.test_module_fixed_mounting_s2, mounting_s2)
            assert_equal(self.test_module_quota1, quota_s1)
            assert_equal(self.test_module_quota2, quota_s2)

            model.delete_fixed_mounting(self.test_module_code,
                                        self.test_module_fixed_mounting_s1)
            model.delete_fixed_mounting(self.test_module_code,
                                        self.test_module_fixed_mounting_s2)

            mounting_data = model.get_fixed_mounting_and_quota(
                self.test_module_code)
            assert_true(len(mounting_data) == 0)
            return
Beispiel #2
0
    def setUp(self):
        '''
            Add dummy modules and mountings into database
        '''
        self.module_overview_handler = ViewMod()
        self.mounting_view_handler = IndividualModule()
        self.current_ay = model.get_current_ay()
        self.next_ay = self.get_next_ay(self.current_ay)

        # Dummy modules
        model.add_module('BB1001', 'Dummy Module 1',
                         'This module is mounted in both sems in both AYs.', 1,
                         'Active')
        model.add_module('BB1002', 'Dummy Module 2',
                         'This module is mounted in sem 1 only, in both AYs.',
                         2, 'Active')
        model.add_module('BB1003', 'Dummy Module 3',
                         'This module is mounted in sem 2 only, in both AYs.',
                         3, 'Active')
        model.add_module(
            'BB1004', 'Dummy Module 4',
            'This module is not mounted in any sem, in both AYs.', 4, 'Active')

        # Dummy fixed mountings
        model.add_fixed_mounting('BB1001', self.current_ay + ' Sem 1', 10)
        model.add_fixed_mounting('BB1001', self.current_ay + ' Sem 2', 20)
        model.add_fixed_mounting('BB1002', self.current_ay + ' Sem 1', 30)
        model.add_fixed_mounting('BB1003', self.current_ay + ' Sem 2', 40)

        # Dummy tentative mountings
        model.add_tenta_mounting('BB1001', self.next_ay + ' Sem 1', 10)
        model.add_tenta_mounting('BB1001', self.next_ay + ' Sem 2', 20)
        model.add_tenta_mounting('BB1002', self.next_ay + ' Sem 1', 30)
        model.add_tenta_mounting('BB1003', self.next_ay + ' Sem 2', 40)
Beispiel #3
0
    def setUp(self):
        '''
            Add dummy modules and mountings into database,
            Then retrieve all fixed module mountings from database
        '''
        self.fixed_mounting_handler = Fixed()
        self.current_ay = model.get_current_ay()

        model.add_module('BB1001', 'Dummy Module 1',
                         'This module is mounted in both semesters.', 1,
                         'Active')
        model.add_module('BB1002', 'Dummy Module 2',
                         'This module is mounted in semester 1 only.', 2,
                         'Active')
        model.add_module('BB1003', 'Dummy Module 3',
                         'This module is mounted in semester 2 only.', 3,
                         'Active')
        model.add_module(
            'BB1004', 'Dummy Module 4',
            'This module is mounted in not mounted in any semester.', 4,
            'Active')

        model.add_fixed_mounting('BB1001', self.current_ay + ' Sem 1', 10)
        model.add_fixed_mounting('BB1001', self.current_ay + ' Sem 2', 20)
        model.add_fixed_mounting('BB1002', self.current_ay + ' Sem 1', 30)
        model.add_fixed_mounting('BB1003', self.current_ay + ' Sem 2', 40)

        self.fixed_mounting_handler.populate_module_code_and_name()
        self.fixed_mounting_handler.populate_module_ay_sem_data()

        assert_true(len(self.fixed_mounting_handler.full_mounting_plan) > 0)
Beispiel #4
0
    def setUp(self):
        '''
            Add dummy modules and mountings into database
        '''
        self.fixed_mounting_handler = Fixed()
        self.current_ay = model.get_current_ay()

        self.tentative_mounting_handler = Tentative()
        self.next_ay = self.get_next_ay(self.current_ay)
        self.selected_tenta_mountings = \
             model.get_all_tenta_mounted_modules_of_selected_ay(self.next_ay)

        # Dummy modules
        model.add_module('BB1001', 'Dummy Module 1',
                         'This module is mounted in both sems in both AYs.', 1, 'Active')
        model.add_module('BB1002', 'Dummy Module 2',
                         'This module is mounted in sem 1 only, in both AYs.', 2, 'Active')
        model.add_module('BB1003', 'Dummy Module 3',
                         'This module is mounted in sem 2 only, in both AYs.', 3, 'Active')
        model.add_module('BB1004', 'Dummy Module 4',
                         'This module is not mounted in any sem, in both AYs.', 4, 'Active')
        model.add_module('BB9999', 'Dummy Module X',
                         'This module is mounted 20 years in the future!', 0, 'Active')

        # Dummy fixed mountings
        model.add_fixed_mounting('BB1001', self.current_ay+' Sem 1', 10)
        model.add_fixed_mounting('BB1001', self.current_ay+' Sem 2', 20)
        model.add_fixed_mounting('BB1002', self.current_ay+' Sem 1', 30)
        model.add_fixed_mounting('BB1003', self.current_ay+' Sem 2', 40)

        self.load_fixed_full_mounting_plan()

        # Dummy tentative mountings
        model.add_tenta_mounting('BB1001', self.next_ay+' Sem 1', 10)
        model.add_tenta_mounting('BB1001', self.next_ay+' Sem 2', 20)
        model.add_tenta_mounting('BB1002', self.next_ay+' Sem 1', 30)
        model.add_tenta_mounting('BB1003', self.next_ay+' Sem 2', 40)
        model.add_tenta_mounting('BB9999', 'AY 36/37 Sem 1', 999)

        self.load_tenta_full_mounting_plan()
    def setUp(self):
        '''
            Add dummy modules and mountings into database
        '''
        # Dummy modules
        self.DUMMY_MODULE_CODE_1 = 'BB1001'
        self.DUMMY_MODULE_CODE_2 = 'BB1002'
        self.DUMMY_MODULE_CODE_3 = 'BB1003'
        model.add_module(self.DUMMY_MODULE_CODE_1, 'Dummy Module 1',
                         "Dummy Module", 1, 'Active')
        model.add_module(self.DUMMY_MODULE_CODE_2, 'Dummy Module 2',
                         "Dummy Module", 2, 'Active')
        model.add_module(self.DUMMY_MODULE_CODE_3, 'Dummy Module 3',
                         "Dummy Module", 3, 'Active')

        # Dummy mountings
        self.DUMMY_QUOTA_0 = None
        self.DUMMY_QUOTA_1 = 10
        self.DUMMY_QUOTA_2 = 20
        self.DUMMY_QUOTA_3 = 30
        model.add_fixed_mounting(self.DUMMY_MODULE_CODE_1,
                                 self.current_ay+' Sem 1', self.DUMMY_QUOTA_1)
        model.add_tenta_mounting(self.DUMMY_MODULE_CODE_1,
                                 self.next_ay+' Sem 1', self.DUMMY_QUOTA_1)
        model.add_fixed_mounting(self.DUMMY_MODULE_CODE_2,
                                 self.current_ay+' Sem 2', self.DUMMY_QUOTA_2)
        model.add_tenta_mounting(self.DUMMY_MODULE_CODE_2,
                                 self.next_ay+' Sem 2', self.DUMMY_QUOTA_2)
        model.add_fixed_mounting(self.DUMMY_MODULE_CODE_3,
                                 self.current_ay+' Sem 1', self.DUMMY_QUOTA_3)
        model.add_tenta_mounting(self.DUMMY_MODULE_CODE_3,
                                 self.next_ay+' Sem 1', self.DUMMY_QUOTA_3)
        model.add_fixed_mounting(self.DUMMY_MODULE_CODE_3,
                                 self.current_ay+' Sem 2', self.DUMMY_QUOTA_0)
        model.add_tenta_mounting(self.DUMMY_MODULE_CODE_3,
                                 self.next_ay+' Sem 2', self.DUMMY_QUOTA_0)
Beispiel #6
0
    def setUp(self):
        '''
            Add dummy modules, mountings and student planners into database
        '''

        # Dummy modules
        model.add_module('PT1001', 'Dummy Module 1',
                         "Dummy Module 1", 1, 'Active')
        model.add_module('PT1002', 'Dummy Module 2',
                         "Dummy Module 2", 2, 'Active')
        model.add_module('PT1003', 'Dummy Module 3',
                         "Dummy Module 3", 3, 'Active')
        model.add_module('PT1004', 'Dummy Module 4',
                         "Dummy Module 4", 4, 'Active')
        model.add_module('PT1005', 'Dummy Module 5',
                         "Dummy Module 5", 5, 'Active')

        model.add_fixed_mounting('PT1001', self.current_ay+' Sem 1', 10)
        model.add_fixed_mounting('PT1001', self.current_ay+' Sem 2', 15)
        model.add_fixed_mounting('PT1002', self.current_ay+' Sem 2', 20)

        model.add_tenta_mounting('PT1001', self.next_ay+' Sem 1', 10)
        model.add_tenta_mounting('PT1002', self.next_ay+' Sem 2', 20)
        model.add_tenta_mounting('PT1003', self.next_ay+' Sem 1', 30)
        model.add_tenta_mounting('PT1003', self.next_ay+' Sem 2', 35)
        model.add_tenta_mounting('PT1004', self.next_ay+' Sem 2', 40)
        model.add_tenta_mounting('PT1005', self.next_ay+' Sem 1', 50)

        model.add_student_plan('D1000000A', True, 'PT1001', self.current_ay+' Sem 1')
        model.add_student_plan('D1000000A', True, 'PT1002', self.current_ay+' Sem 2')
        model.add_student_plan('D2000000A', True, 'PT1001', self.current_ay+' Sem 1')
        model.add_student_plan('D2000000A', False, 'PT1002', self.current_ay+' Sem 2')
        model.add_student_plan('D1000000A', False, 'PT1003', self.next_ay+' Sem 1')
        model.add_student_plan('D3000000A', False, 'PT1001', self.current_ay+' Sem 1')
        model.add_student_plan('D3000000A', False, 'PT1004', self.next_ay+' Sem 2')

        model.add_student_plan('D5000000A', True, 'PT1001', self.current_ay+' Sem 1')
        model.add_student_plan('D5000001A', True, 'PT1001', self.current_ay+' Sem 1')
        model.add_student_plan('D5000002A', True, 'PT1001', self.current_ay+' Sem 2')
        model.add_student_plan('D5000000A', False, 'PT1005', self.next_ay+' Sem 1')
        model.add_student_plan('D5000001A', False, 'PT1005', self.next_ay+' Sem 1')
        model.add_student_plan('D5000002A', False, 'PT1005', self.next_ay+' Sem 1')
        model.add_student_plan('D5000003A', False, 'PT1005', self.next_ay+' Sem 1')
        model.add_student_plan('D5000004A', False, 'PT1005', self.next_ay+' Sem 1')
    def setUp(self):
        '''
            Add dummy modules and mountings into database
        '''
        # Dummy modules
        model.add_module('BB1001', 'Dummy Module 1',
                         "This module's quota is NOT modified", 1, 'Active')
        model.add_module('BB1002', 'Dummy Module 2',
                         "This module's quota for sem 1 is modified", 2, 'Active')
        model.add_module('BB1003', 'Dummy Module 3',
                         "This module's quota for sem 2 is modified", 3, 'Active')
        model.add_module('BB1004', 'Dummy Module 4',
                         "This module's quota for sem 1 has become specified", 4, 'Active')
        model.add_module('BB1005', 'Dummy Module 5',
                         "This module's quota for sem 2 has become unspecified", 5, 'Active')
        model.add_module('BB1006', 'Dummy Module 6',
                         "This module's quota for both sem 1 & 2 have been modified",
                         6, 'Active')

        model.add_module('BB2001', 'Dummy Module 1',
                         "This module is unmounted from sem 1", 1, 'Active')
        model.add_module('BB2002', 'Dummy Module 2',
                         "This module is remounted in sem 2", 2, 'Active')
        model.add_module('BB2003', 'Dummy Module 3',
                         "This module is changed from mounted in sem 1 to sem 2", 3, 'Active')
        model.add_module('BB2004', 'Dummy Module 4',
                         "This module's mounting is modified but quota is not modified",
                         4, 'Active')

        model.add_module('BB3001', 'Dummy Module 1',
                         "This module's quota is modified and will be restored", 1, 'Active')
        model.add_module('BB3002', 'Dummy Module 2',
                         "This module's quota has been specified and will be restored" +\
                         "to unspecified", 2, 'Active')
        model.add_module('BB3003', 'Dummy Module 3',
                         "This module's has been mounted and will be restored to unmounted",
                         3, 'Active')
        model.add_module('BB3004', 'Dummy Module 4',
                         "This module's has been unmounted and will be restored to mounted",
                         4, 'Active')
        model.add_module('BB3005', 'Dummy Module 5',
                         "This module's name will be restored", 5, 'Active')
        model.add_module('BB3006', 'Dummy Module 6',
                         "This module's name, description and MC will be restored", 6,
                         'Active')

        # Dummy fixed mountings
        model.add_fixed_mounting('BB1001', self.current_ay+' Sem 1', 10)
        model.add_fixed_mounting('BB1001', self.current_ay+' Sem 2', 10)
        model.add_fixed_mounting('BB1002', self.current_ay+' Sem 1', 20)
        model.add_fixed_mounting('BB1002', self.current_ay+' Sem 2', 20)
        model.add_fixed_mounting('BB1003', self.current_ay+' Sem 1', 30)
        model.add_fixed_mounting('BB1003', self.current_ay+' Sem 2', 30)
        model.add_fixed_mounting('BB1004', self.current_ay+' Sem 1', None)
        model.add_fixed_mounting('BB1004', self.current_ay+' Sem 2', None)
        model.add_fixed_mounting('BB1005', self.current_ay+' Sem 1', 50)
        model.add_fixed_mounting('BB1005', self.current_ay+' Sem 2', 50)
        model.add_fixed_mounting('BB1006', self.current_ay+' Sem 1', 60)
        model.add_fixed_mounting('BB1006', self.current_ay+' Sem 2', 60)

        model.add_fixed_mounting('BB2001', self.current_ay+' Sem 1', 10)
        model.add_fixed_mounting('BB2001', self.current_ay+' Sem 2', 10)
        model.add_fixed_mounting('BB2002', self.current_ay+' Sem 1', 20)
        model.add_fixed_mounting('BB2003', self.current_ay+' Sem 1', 30)
        model.add_fixed_mounting('BB2004', self.current_ay+' Sem 1', None)

        model.add_fixed_mounting('BB3001', self.current_ay+' Sem 1', 10)
        model.add_fixed_mounting('BB3002', self.current_ay+' Sem 1', None)
        model.add_fixed_mounting('BB3004', self.current_ay+' Sem 2', 40)

        # Dummy tentative mountings
        model.add_tenta_mounting('BB1001', self.next_ay+' Sem 1', 10)
        model.add_tenta_mounting('BB1001', self.next_ay+' Sem 2', 10)
        model.add_tenta_mounting('BB1002', self.next_ay+' Sem 1', 999)
        model.add_tenta_mounting('BB1002', self.next_ay+' Sem 2', 20)
        model.add_tenta_mounting('BB1003', self.next_ay+' Sem 1', 30)
        model.add_tenta_mounting('BB1003', self.next_ay+' Sem 2', 999)
        model.add_tenta_mounting('BB1004', self.next_ay+' Sem 1', 999)
        model.add_tenta_mounting('BB1004', self.next_ay+' Sem 2', None)
        model.add_tenta_mounting('BB1005', self.next_ay+' Sem 1', 50)
        model.add_tenta_mounting('BB1005', self.next_ay+' Sem 2', None)
        model.add_tenta_mounting('BB1006', self.next_ay+' Sem 1', 999)
        model.add_tenta_mounting('BB1006', self.next_ay+' Sem 2', None)

        model.add_tenta_mounting('BB2001', self.next_ay+' Sem 2', 10)
        model.add_tenta_mounting('BB2002', self.next_ay+' Sem 1', 20)
        model.add_tenta_mounting('BB2002', self.next_ay+' Sem 2', 20)
        model.add_tenta_mounting('BB2003', self.next_ay+' Sem 2', 30)
        model.add_tenta_mounting('BB2004', self.next_ay+' Sem 1', None)
        model.add_tenta_mounting('BB2004', self.next_ay+' Sem 2', None)

        model.add_tenta_mounting('BB3001', self.next_ay+' Sem 1', 999)
        model.add_tenta_mounting('BB3002', self.next_ay+' Sem 1', 999)
        model.add_tenta_mounting('BB3003', self.next_ay+' Sem 2', 999)

        # Dummy module backup
        model.store_original_module_info('BB3005', 'Original Module Name',
                                         "This module's name will be restored", 5)
        model.store_original_module_info('BB3006', 'Original Module Name',
                                         "Original Module Description", 0)