Update for release.
[python/dscho.git] / Lib / test / test_shelve.py
blobe69e311ed9cf26b852045f2f949abdbda9cef7b9
1 import os
2 import unittest
3 import shelve
4 import glob
5 from test import test_support
7 class TestCase(unittest.TestCase):
9 fn = "shelftemp.db"
11 def test_ascii_file_shelf(self):
12 try:
13 s = shelve.open(self.fn, binary=False)
14 s['key1'] = (1,2,3,4)
15 self.assertEqual(s['key1'], (1,2,3,4))
16 s.close()
17 finally:
18 for f in glob.glob(self.fn+"*"):
19 os.unlink(f)
21 def test_binary_file_shelf(self):
22 try:
23 s = shelve.open(self.fn, binary=True)
24 s['key1'] = (1,2,3,4)
25 self.assertEqual(s['key1'], (1,2,3,4))
26 s.close()
27 finally:
28 for f in glob.glob(self.fn+"*"):
29 os.unlink(f)
31 def test_in_memory_shelf(self):
32 d1 = {}
33 s = shelve.Shelf(d1, binary=False)
34 s['key1'] = (1,2,3,4)
35 self.assertEqual(s['key1'], (1,2,3,4))
36 s.close()
37 d2 = {}
38 s = shelve.Shelf(d2, binary=True)
39 s['key1'] = (1,2,3,4)
40 self.assertEqual(s['key1'], (1,2,3,4))
41 s.close()
43 self.assertEqual(len(d1), 1)
44 self.assertNotEqual(d1, d2)
46 def test_main():
47 test_support.run_unittest(TestCase)
50 if __name__ == "__main__":
51 test_main()