| import os | 
 | import unittest | 
 | import shelve | 
 | import glob | 
 | from test import test_support | 
 |  | 
 | class TestCase(unittest.TestCase): | 
 |  | 
 |     fn = "shelftemp.db" | 
 |  | 
 |     def test_ascii_file_shelf(self): | 
 |         try: | 
 |             s = shelve.open(self.fn, binary=False) | 
 |             s['key1'] = (1,2,3,4) | 
 |             self.assertEqual(s['key1'], (1,2,3,4)) | 
 |             s.close() | 
 |         finally: | 
 |             for f in glob.glob(self.fn+"*"): | 
 |                 os.unlink(f) | 
 |  | 
 |     def test_binary_file_shelf(self): | 
 |         try: | 
 |             s = shelve.open(self.fn, binary=True) | 
 |             s['key1'] = (1,2,3,4) | 
 |             self.assertEqual(s['key1'], (1,2,3,4)) | 
 |             s.close() | 
 |         finally: | 
 |             for f in glob.glob(self.fn+"*"): | 
 |                 os.unlink(f) | 
 |  | 
 |     def test_in_memory_shelf(self): | 
 |         d1 = {} | 
 |         s = shelve.Shelf(d1, binary=False) | 
 |         s['key1'] = (1,2,3,4) | 
 |         self.assertEqual(s['key1'], (1,2,3,4)) | 
 |         s.close() | 
 |         d2 = {} | 
 |         s = shelve.Shelf(d2, binary=True) | 
 |         s['key1'] = (1,2,3,4) | 
 |         self.assertEqual(s['key1'], (1,2,3,4)) | 
 |         s.close() | 
 |  | 
 |         self.assertEqual(len(d1), 1) | 
 |         self.assertNotEqual(d1, d2) | 
 |  | 
 | def test_main(): | 
 |     test_support.run_unittest(TestCase) | 
 |  | 
 |  | 
 | if __name__ == "__main__": | 
 |     test_main() |