home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_294 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.6 KB  |  89 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, verbose, get_new_database_path
  8.  
  9. class GetReturnsNoneTestCase(unittest.TestCase):
  10.     
  11.     def setUp(self):
  12.         self.filename = get_new_database_path()
  13.  
  14.     
  15.     def tearDown(self):
  16.         
  17.         try:
  18.             os.remove(self.filename)
  19.         except os.error:
  20.             pass
  21.  
  22.  
  23.     
  24.     def test01_get_returns_none(self):
  25.         d = db.DB()
  26.         d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
  27.         d.set_get_returns_none(1)
  28.         for x in string.letters:
  29.             d.put(x, x * 40)
  30.         
  31.         data = d.get('bad key')
  32.         self.assertEqual(data, None)
  33.         data = d.get(string.letters[0])
  34.         self.assertEqual(data, string.letters[0] * 40)
  35.         count = 0
  36.         c = d.cursor()
  37.         rec = c.first()
  38.         while rec:
  39.             count = count + 1
  40.             rec = c.next()
  41.         self.assertEqual(rec, None)
  42.         self.assertEqual(count, len(string.letters))
  43.         c.close()
  44.         d.close()
  45.  
  46.     
  47.     def test02_get_raises_exception(self):
  48.         d = db.DB()
  49.         d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
  50.         d.set_get_returns_none(0)
  51.         for x in string.letters:
  52.             d.put(x, x * 40)
  53.         
  54.         self.assertRaises(db.DBNotFoundError, d.get, 'bad key')
  55.         self.assertRaises(KeyError, d.get, 'bad key')
  56.         data = d.get(string.letters[0])
  57.         self.assertEqual(data, string.letters[0] * 40)
  58.         count = 0
  59.         exceptionHappened = 0
  60.         c = d.cursor()
  61.         rec = c.first()
  62.         while rec:
  63.             count = count + 1
  64.             
  65.             try:
  66.                 rec = c.next()
  67.             continue
  68.             except db.DBNotFoundError:
  69.                 exceptionHappened = 1
  70.                 break
  71.                 continue
  72.             
  73.  
  74.             None<EXCEPTION MATCH>db.DBNotFoundError
  75.         self.assertNotEqual(rec, None)
  76.         self.assert_(exceptionHappened)
  77.         self.assertEqual(count, len(string.letters))
  78.         c.close()
  79.         d.close()
  80.  
  81.  
  82.  
  83. def test_suite():
  84.     return unittest.makeSuite(GetReturnsNoneTestCase)
  85.  
  86. if __name__ == '__main__':
  87.     unittest.main(defaultTest = 'test_suite')
  88.  
  89.