def initialize_state(): """ HACK! For use with sqlite in memory db, sqlite in memory is not thread-safe, use a different db type next time :return: """ global report if not report: report = Directory() report.load_sample_data()
class TestDirectory(unittest.TestCase): def setUp(self): self.report = Directory() def test_load_single(self): self.report.load_single(',', 'Jack,Knife,Male,Pink,2000-Sep-20') session = self.report.get_session() results = session.query(Person).all() self.assertEqual(len(results), 1) p = results[0] self.assertEqual(p.first_name, 'Jack') self.assertEqual(p.last_name, 'Knife') self.assertEqual(p.gender, 'Male') self.assertEqual(p.favorite_color, 'Pink') self.assertEqual(p.date_of_birth, datetime.date(2000, 9, 20)) def test_report_data(self): self.report.load_single(',', 'Jack,Ham,Male,Pink,2000-Sep-20') self.report.load_single(',', 'Jack,Knife,Male,Pink,2000-Sep-20') unordered_results = self.report.report_data() self.assertEqual(len(unordered_results), 2) self.assertEqual(unordered_results[0].last_name, 'Ham') self.assertEqual(unordered_results[1].last_name, 'Knife') ordered_results = self.report.report_data([('last_name', 'DESC')]) self.assertEqual(len(ordered_results), 2) self.assertEqual(ordered_results[0].last_name, 'Knife') self.assertEqual(ordered_results[1].last_name, 'Ham')
def setUp(self): self.report = Directory()
__author__ = 'dqin2' from reports.directory import Directory if __name__ == '__main__': report = Directory() report.load_sample_data() print '-------------------REPORT 1---------------------' for p in report.report1_data(): print '<Person First Name="%s", Last Name="%s", Gender="%s", Favorite Color="%s", Date of Birth="%d/%d/%d"' % ( p.first_name, p.last_name, p.gender, p.favorite_color, p.date_of_birth.month, p.date_of_birth.day, p.date_of_birth.year ) print '\n-------------------REPORT 2---------------------' for p in report.report2_data(): print '<Person First Name="%s", Last Name="%s", Gender="%s", Favorite Color="%s", Date of Birth="%d/%d/%d"' % ( p.first_name, p.last_name, p.gender, p.favorite_color, p.date_of_birth.month, p.date_of_birth.day,