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()