class Test_ObjFramework_2_records_same_cls(unittest.TestCase): def setUp(self): self.of = ObjFactory() self.obj1= self.of.new(GenericBase, 'Student', objid='booker', modname=__name__, name='booker', age=23) self.obj2= self.of.new(GenericBase, 'Student', objid='frank', modname=__name__, name='frank', age=19) def tearDown(self): self.of.reset() def test_2records_same_class(self): names = [obj.name for obj in self.of.query('Student')] names.sort() self.assertEquals(names,['booker','frank'])
class Test_ObjFrameworkBasic(unittest.TestCase): def setUp(self): self.of = ObjFactory() foobar= self.of.new(GenericBase, "Student", objid='booker', modname=__name__, name='booker', age=23) def tearDown(self): self.of.reset() def test_num_obj_created(self): self.assertEquals(len(ObjFactory().store['Student']),1) def test_correct_keys_created(self): self.assertTrue(ObjFactory().store['Student'].has_key('booker')) def test_objects_created_stored(self): _student = ObjFactory().store['Student']['booker'] self.assertEquals(_student.__class__.__name__,"Student") def test_objects_have_attributes(self): _student = ObjFactory().store['Student']['booker'] self.assertEquals(_student.name,'booker') self.assertEquals(_student.age,23)
class Test_ObjFramework_Database(unittest.TestCase): def setUp(self): self.of = ObjFactory(True) self.database = Database('foobar') self.foobar= self.of.new(dbtblgeneric, 'DBLesson', objid='dblesson0', constructor='datamembers', modname=__name__, database=self.database, dm={'student':'booker', 'period':2, 'dow':3}) def tearDown(self): self.of.reset() def test_num_obj_created(self): self.assertEquals(len(self.of.query('DBLesson')),1) def test_correct_keys_created(self): self.assertTrue(self.of.object_exists('DBLesson','dblesson0')) def test_objects_created_stored(self): _lesson = self.of.object_get('DBLesson','dblesson0') self.assertEquals(_lesson.__class__.__name__,"DBLesson") def test_objects_have_attributes(self): _lesson = self.of.object_get('DBLesson','dblesson0') self.assertEquals(_lesson.student,'booker') self.assertEquals(_lesson.period,2) self.assertEquals(_lesson.dow,3)
class Test_ObjFrameworkIter(unittest.TestCase): def setUp(self): self.of = ObjFactory(True) self.of.new(GenericBase, 'Student', objid='booker', modname=__name__) self.of.new(GenericBase, 'Student', objid='fred', modname=__name__) self.of.new(GenericBase, 'Classroom', objid='1a', modname=__name__) def tearDown(self): self.of.reset() def test_iter(self): result = [obj.objid for obj in self.of.object_iter()] result.sort() self.assertListEqual(result,['1a','booker','fred'])
class Test_ObjFrameworkDumpNested(unittest.TestCase): def setUp(self): self.of = ObjFactory(True) self.obj1 = self.of.new(GenericBase, 'Student', objid='booker', nationality='british', modname=__name__) self.of.new(GenericBase, 'Student', objid='fred', age=23, nationality='british', modname=__name__) self.of.new(GenericBase, 'Student', objid='fred', age=35, nationality='irish', modname=__name__) self.of.new(GenericBase, 'Classroom', objid='1a', nationality='swedish', modname=__name__) def tearDown(self): self.of.reset() '''def test_1clause(self): results = self.of.query_advanced('Student',[('objid','booker')]) self.assertEquals(len(results),1) self.assertEquals(results[0].objid,'booker') def test_2clause(self): results = self.of.query_advanced('Student',[('nationality','british'), ('objid','fred')]) self.assertEquals(len(results),1) self.assertEquals(results[0].age,23)''' def test_update_then_search(self): ''' make sure that search picks up the updated version of the object ''' self.obj1.nationality = 'indian' results = self.of.query_advanced('Student',[('objid','booker')]) self.assertEquals(results[0].nationality,'indian')
class Test_ObjFrameworkDupeID(unittest.TestCase): def setUp(self): self.of = ObjFactory() self.obj1= self.of.new(GenericBase, 'Student', objid='booker', modname=__name__) self.obj2= self.of.new(GenericBase, 'Student', objid='booker', modname=__name__) def tearDown(self): self.of.reset() def test_num_dupe_objid(self): self.assertEqual(self.obj1,self.obj2)
class Test_ObjFramework_2_class(unittest.TestCase): def setUp(self): self.of = ObjFactory() self.obj1= self.of.new(GenericBase, 'Student', objid='booker', modname=__name__, name='booker', age=23) self.obj2= self.of.new(GenericBase, 'Subject', objid='science', modname=__name__, name='science', teacher_name='fran') def tearDown(self): self.of.reset() def test_2_class(self): self.assertListEqual(self.of.query(),['Student','Subject'])
class Test_ObjFrameworkDumpRptNestedSchoolsched(unittest.TestCase): # same as above just with the school sched nested object # so each attr is another object of (not a string or int) that # potentially needs to be accessed via accessors def setUp(self): self.of = ObjFactory(True) self.database = Database('foobar') datamembers = dict(period='830', student='Booker', dow='MO', teacher='Amelia', saveversion=0, session='AM.AC.SC') self.foobar= self.of.new(schoolschedgeneric, 'DBLesson', objid='dblesson0', constructor='datamembers', database=self.database, of=self.of, modname=__name__, dm=datamembers) def test_(self): from types import StringType,IntType, UnicodeType results = self.of.dumpobjrpt(objref=False) expected_results = [['ROOT', 'period'], ['ROOT', 'saveversion'], ['ROOT', 'dow'], ['dblesson0', 'dow'], ['dblesson0', 'period'], ['dblesson0', 'saveversion'], ['dblesson0', 'session'], ['dblesson0', 'student'], ['dblesson0', 'teacher'], ['ROOT', 'DBLesson'], ['ROOT', 'session'], ['ROOT', 'student'], ['ROOT', 'teacher']] self.assertListEqual(expected_results,results) def test_filter_objtype(self): from types import StringType,IntType, UnicodeType results = self.of.dumpobjrpt(objtypes=['DBLesson','student'],objref=False) expected_results = [['dblesson0', 'student'], ['ROOT', 'DBLesson'], ['ROOT', 'student']] expected_results.sort() results.sort() self.assertListEqual(expected_results,results) def test_filter_objtype_3items(self): from types import StringType,IntType, UnicodeType results = self.of.dumpobjrpt(objtypes=['DBLesson','student','dow'],objref=False) expected_results = [['dblesson0', 'student'], ['ROOT', 'DBLesson'], ['ROOT', 'student'], ['dblesson0', 'dow'], ['ROOT', 'dow']] expected_results.sort() results.sort() self.assertListEqual(expected_results,results) def test_filter_objtype_field_filters(self): from types import StringType,IntType, UnicodeType expected_results = [['ROOT', '-', '-', 'student'], ['ROOT', 'Amelia', 'Booker', 'DBLesson'], ['dblesson0', '-', '-', 'student']] results = self.of.dumpobjrpt(objtypes=['DBLesson','student'], objref=False, fields=['teacher','student']) expected_results.sort() results.sort() self.assertListEqual(expected_results,results) def test_all_fields(self): from types import StringType,IntType, UnicodeType expected_results = [['ROOT', 'dm:teacher=Amelia', 'dm:session=AM.AC.SC', 'dm:student=Booker', 'dm:period=830', 'dm:saveversion=0', 'dm:dow=MO', 'dm:dm:dow=MO', 'dow:MO', 'objid:dblesson0', 'period:830', 'recursion:True', 'saveversion:0', 'session:AM.AC.SC', 'student:Booker', 'teacher:Amelia']] results = self.of.dumpobjrpt(objtypes=['DBLesson'], objref=False, fields=['all'], omitfields=['id'], fieldnames=True) expected_results.sort() results.sort() self.assertListEqual(expected_results,results) def tearDown(self): self.of.reset()