home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_289 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  3.1 KB  |  75 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import os
  5. import string
  6. import unittest
  7. from test_all import db, dbobj, test_support, get_new_environment_path, get_new_database_path
  8.  
  9. class dbobjTestCase(unittest.TestCase):
  10.     db_name = 'test-dbobj.db'
  11.     
  12.     def setUp(self):
  13.         self.homeDir = get_new_environment_path()
  14.  
  15.     
  16.     def tearDown(self):
  17.         if hasattr(self, 'db'):
  18.             del self.db
  19.         
  20.         if hasattr(self, 'env'):
  21.             del self.env
  22.         
  23.         test_support.rmtree(self.homeDir)
  24.  
  25.     
  26.     def test01_both(self):
  27.         
  28.         class TestDBEnv(dbobj.DBEnv):
  29.             pass
  30.  
  31.         
  32.         class TestDB(dbobj.DB):
  33.             
  34.             def put(self, key, *args, **kwargs):
  35.                 key = key.upper()
  36.                 return apply(dbobj.DB.put, (self, key) + args, kwargs)
  37.  
  38.  
  39.         self.env = TestDBEnv()
  40.         self.env.open(self.homeDir, db.DB_CREATE | db.DB_INIT_MPOOL)
  41.         self.db = TestDB(self.env)
  42.         self.db.open(self.db_name, db.DB_HASH, db.DB_CREATE)
  43.         self.db.put('spam', 'eggs')
  44.         self.assertEqual(self.db.get('spam'), None, 'overridden dbobj.DB.put() method failed [1]')
  45.         self.assertEqual(self.db.get('SPAM'), 'eggs', 'overridden dbobj.DB.put() method failed [2]')
  46.         self.db.close()
  47.         self.env.close()
  48.  
  49.     
  50.     def test02_dbobj_dict_interface(self):
  51.         self.env = dbobj.DBEnv()
  52.         self.env.open(self.homeDir, db.DB_CREATE | db.DB_INIT_MPOOL)
  53.         self.db = dbobj.DB(self.env)
  54.         self.db.open(self.db_name + '02', db.DB_HASH, db.DB_CREATE)
  55.         self.db['spam'] = 'eggs'
  56.         self.assertEqual(len(self.db), 1)
  57.         self.assertEqual(self.db['spam'], 'eggs')
  58.         del self.db['spam']
  59.         self.assertEqual(self.db.get('spam'), None, 'dbobj __del__ failed')
  60.         self.db.close()
  61.         self.env.close()
  62.  
  63.     
  64.     def test03_dbobj_type_before_open(self):
  65.         self.assertRaises(db.DBInvalidArgError, db.DB().type)
  66.  
  67.  
  68.  
  69. def test_suite():
  70.     return unittest.makeSuite(dbobjTestCase)
  71.  
  72. if __name__ == '__main__':
  73.     unittest.main(defaultTest = 'test_suite')
  74.  
  75.