Ejemplo n.º 1
0
    def testloadRolesCompatibilities(self):
        self.assertGreater(len(GlobalRoleList.roles), 0, 'The roles have not been defined')

        role1 = GlobalRoleList.role_from_desc('Steward')
        role2 = GlobalRoleList.role_from_desc('Cook')
        role1.compatibilities.add(role2)
        role2.compatibilities.add(role1)

        role1 = GlobalRoleList.role_from_desc('Baker')
        role2 = GlobalRoleList.role_from_desc('Fisherman')
        role1.compatibilities.add(role2)
        role2.compatibilities.add(role1)

        self.saver.createTables()
        self.saver.populateTables()
        GlobalRoleList.clear()
        self.saver.loadRoles()

        role1 = GlobalRoleList.role_from_desc('Baker')
        role2 = GlobalRoleList.role_from_desc('Fisherman')
        self.assertTrue(role1.compatible_with(role2))

        role1 = GlobalRoleList.role_from_desc('Fisherman')
        role2 = GlobalRoleList.role_from_desc('Steward')
        self.assertFalse(role1.compatible_with(role2))

        role1 = GlobalRoleList.role_from_desc('Baker')
        role2 = GlobalRoleList.role_from_desc('Cook')
        self.assertFalse(role1.compatible_with(role2))

        role1 = GlobalRoleList.role_from_desc('Steward')
        role2 = GlobalRoleList.role_from_desc('Cook')
        self.assertTrue(role1.compatible_with(role2))
Ejemplo n.º 2
0
    def testInvalidLoadPopulation(self):
        GlobalRoleList.clear()
        GlobalRoleList.add_role(Role('Doctor', 'D', 10))
        GlobalRoleList.add_role(Role('GP', 'G', 8))
        GlobalRoleList.add_role(Role('Nurse', 'N', 10))
        GlobalRoleList.add_role(Role('Cook', 'C', 7))
        GlobalRoleList.add_role(Role('Reception', 'R', 5))

        loader = PopulationSavingObject([], 'test_invalid_population_sheet.xls')
        self.assertRaises(ExcellImportExportError, loader.load)
Ejemplo n.º 3
0
    def _loadInRolesTables(self):
        _c = self._connection.cursor()
        GlobalRoleList.clear()
        for row in _c.execute('SELECT * FROM Roles ORDER BY priority'):
            GlobalRoleList.add_role(Role(row[0], row[2], row[1]))

        for row in _c.execute('SELECT * FROM RolesCompatibility'):
            role1 = GlobalRoleList.role_from_desc(row[0])
            role2 = GlobalRoleList.role_from_desc(row[1])
            role1.compatibilities.add(role2)
Ejemplo n.º 4
0
    def testloadRoles(self):
        self.assertGreater(len(GlobalRoleList.roles), 0, 'The roles have not been defined')

        self.saver.createTables()
        self.saver.populateTables()

        GlobalRoleList.clear()
        self.assertEqual(len(GlobalRoleList.roles), 0)

        self.saver.loadRoles()

        self.assertGreater(len(GlobalRoleList.roles), 0, 'The roles have not been repopulated')

        role1 = GlobalRoleList.role_from_desc('Baker')
        role2 = GlobalRoleList.role_from_desc('Fisherman')
        self.assertFalse(role1.compatible_with(role2))
Ejemplo n.º 5
0
 def tearDown(self):
     GlobalRoleList.clear()
Ejemplo n.º 6
0
    def testLoadPopulation(self):
        GlobalRoleList.clear()
        GlobalRoleList.add_role(Role('Doctor', 'D', 10))
        GlobalRoleList.add_role(Role('GP', 'G', 8))
        GlobalRoleList.add_role(Role('Nurse', 'N', 10))
        GlobalRoleList.add_role(Role('Cook', 'C', 7))
        GlobalRoleList.add_role(Role('Reception', 'R', 5))

        loader = PopulationSavingObject([], 'test_population_sheet.xls')
        loaded_population = loader.load()

        self.assertEqual(len(loaded_population), 6)

        loaded_person = loaded_population[0]
        self.assertEqual(loaded_person.name, 'Mary')
        self.assertEqual(loaded_person.address, 'A34')
        self.assertEqual(loaded_person.email, 'b')
        self.assertEqual(loaded_person.phone_number, '122')

        self.assertEqual(len(loaded_person.roles()), 2)
        self.assertTrue(loaded_person.suitable_for_role('D'))
        self.assertTrue(loaded_person.suitable_for_role('N'))
        self.assertFalse(loaded_person.suitable_for_role('C'))

        loaded_person = loaded_population[1]
        self.assertEqual(loaded_person.name, 'Jane')
        self.assertEqual(loaded_person.address, 'B32')
        self.assertEqual(loaded_person.email, 'g')
        self.assertEqual(loaded_person.phone_number, '463')

        self.assertEqual(len(loaded_person.roles()), 1)
        self.assertFalse(loaded_person.suitable_for_role('D'))
        self.assertTrue(loaded_person.suitable_for_role('G'))
        self.assertFalse(loaded_person.suitable_for_role('C'))

        loaded_person = loaded_population[2]
        self.assertEqual(loaded_person.name, 'Mick')

        self.assertEqual(len(loaded_person.roles()), 1)
        self.assertFalse(loaded_person.suitable_for_role('D'))
        self.assertTrue(loaded_person.suitable_for_role('C'))
        self.assertFalse(loaded_person.suitable_for_role('G'))

        loaded_person = loaded_population[3]
        self.assertEqual(loaded_person.name, 'John')

        self.assertEqual(len(loaded_person.roles()), 2)
        self.assertTrue(loaded_person.suitable_for_role('R'))
        self.assertTrue(loaded_person.suitable_for_role('N'))
        self.assertFalse(loaded_person.suitable_for_role('D'))

        loaded_person = loaded_population[4]
        self.assertEqual(loaded_person.name, 'Gaz')

        self.assertEqual(len(loaded_person.roles()), 1)
        self.assertFalse(loaded_person.suitable_for_role('D'))
        self.assertFalse(loaded_person.suitable_for_role('N'))
        self.assertTrue(loaded_person.suitable_for_role('C'))

        loaded_person = loaded_population[5]
        self.assertEqual(loaded_person.name, 'Toby')
        self.assertEqual(loaded_person.address, 'C16')
        self.assertEqual(loaded_person.email, '')
        self.assertEqual(loaded_person.phone_number, '400')

        self.assertEqual(len(loaded_person.roles()), 2)
        self.assertTrue(loaded_person.suitable_for_role('D'))
        self.assertTrue(loaded_person.suitable_for_role('G'))
        self.assertFalse(loaded_person.suitable_for_role('N'))