class Test_ObjFrameworkDumpRpt(unittest.TestCase): def setUp(self): self.of = ObjFactory(True) self.obj1 = self.of.new(GenericBase, 'Student', objid='booker', nationality='british', modname=__name__) def test_no_datafields(self): from types import StringType,IntType, UnicodeType expected_results = [['ROOT', 'Student']] results = self.of.dumpobjrpt(objref=False) expected_results.sort() results.sort() self.assertListEqual(expected_results,results) def test_inc_datafields(self): from types import StringType,IntType, UnicodeType expected_results = [['ROOT', 'british', 'Student']] results = self.of.dumpobjrpt(fields=['nationality'],objref=False) expected_results.sort() results.sort() self.assertListEqual(expected_results,results)
class Test_ObjFrameworkDumpRptNestedSchoolschedFieldNameHdr(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-910',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) datamembers = dict(period='910-950',student='Booker',dow='MO', teacher='Stan',saveversion=0,session='AM.AC.SC') self.foobar= self.of.new(schoolschedgeneric,'DBLesson',objid='dblesson1',constructor='datamembers',database=self.database,of=self.of,modname=__name__,dm=datamembers) datamembers = dict(period='950-1020',student='Booker',dow='MO', teacher='Samantha',saveversion=0,session='AM.AC.SC') self.foobar= self.of.new(schoolschedgeneric,'DBLesson',objid='dblesson2',constructor='datamembers',database=self.database,of=self.of,modname=__name__,dm=datamembers) datamembers = dict(period='830-910',student='Clayton',dow='MO', teacher='Samantha',saveversion=0,session='AM.AC.SC') self.foobar= self.of.new(schoolschedgeneric,'DBLesson',objid='dblesson3',constructor='datamembers',database=self.database,of=self.of,modname=__name__,dm=datamembers) def test_1constraint(self): from types import StringType,IntType, UnicodeType expected_results = [['ROOT', 'student:Booker', 'period:830-910', 'objtype:DBLesson'], ['ROOT', 'student:Clayton', 'period:830-910', 'objtype:DBLesson']] results = self.of.dumpobjrpt(objtypes=['DBLesson'], objref=False, fields=['student','period'], omitfields=['id'], fieldnames=True) expected_results.sort() results.sort() self.assertListEqual(expected_results,results) self.assertListEqual(expected_results,results)
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()