home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 July / maximum-cd-2011-07.iso / DiscContents / LibO_3.3.2_Win_x86_install_multi.exe / libreoffice1.cab / test_dbm.py < prev    next >
Encoding:
Python Source  |  2011-03-15  |  1.2 KB  |  43 lines

  1. from test import test_support
  2. import unittest
  3. import dbm
  4.  
  5. class DbmTestCase(unittest.TestCase):
  6.  
  7.     def setUp(self):
  8.         self.filename = test_support.TESTFN
  9.         self.d = dbm.open(self.filename, 'c')
  10.         self.d.close()
  11.  
  12.     def tearDown(self):
  13.         for suffix in ['', '.pag', '.dir', '.db']:
  14.             test_support.unlink(self.filename + suffix)
  15.  
  16.     def test_keys(self):
  17.         self.d = dbm.open(self.filename, 'c')
  18.         self.assertEqual(self.d.keys(), [])
  19.         a = [('a', 'b'), ('12345678910', '019237410982340912840198242')]
  20.         for k, v in a:
  21.             self.d[k] = v
  22.         self.assertEqual(sorted(self.d.keys()), sorted(k for (k, v) in a))
  23.         for k, v in a:
  24.             self.assert_(k in self.d)
  25.             self.assertEqual(self.d[k], v)
  26.         self.assert_('xxx' not in self.d)
  27.         self.assertRaises(KeyError, lambda: self.d['xxx'])
  28.         self.d.close()
  29.  
  30.     def test_modes(self):
  31.         for mode in ['r', 'rw', 'w', 'n']:
  32.             try:
  33.                 self.d = dbm.open(self.filename, mode)
  34.                 self.d.close()
  35.             except dbm.error:
  36.                 self.fail()
  37.  
  38. def test_main():
  39.     test_support.run_unittest(DbmTestCase)
  40.  
  41. if __name__ == '__main__':
  42.     test_main()
  43.