Viewing file: test_anydbm.py (2.17 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#! /usr/bin/env python2.4 """Test script for the anydbm module based on testdumbdbm.py """
import os import unittest import anydbm import glob from test import test_support
_fname = test_support.TESTFN
def _delete_files(): # we don't know the precise name the underlying database uses # so we use glob to locate all names for f in glob.glob(_fname + "*"): try: os.unlink(f) except OSError: pass
class AnyDBMTestCase(unittest.TestCase): _dict = {'0': '', 'a': 'Python:', 'b': 'Programming', 'c': 'the', 'd': 'way', 'f': 'Guido', 'g': 'intended' }
def __init__(self, *args): unittest.TestCase.__init__(self, *args)
def test_anydbm_creation(self): f = anydbm.open(_fname, 'c') self.assertEqual(f.keys(), []) for key in self._dict: f[key] = self._dict[key] self.read_helper(f) f.close()
def test_anydbm_modification(self): self.init_db() f = anydbm.open(_fname, 'c') self._dict['g'] = f['g'] = "indented" self.read_helper(f) f.close()
def test_anydbm_read(self): self.init_db() f = anydbm.open(_fname, 'r') self.read_helper(f) f.close()
def test_anydbm_keys(self): self.init_db() f = anydbm.open(_fname, 'r') keys = self.keys_helper(f) f.close()
def read_helper(self, f): keys = self.keys_helper(f) for key in self._dict: self.assertEqual(self._dict[key], f[key])
def init_db(self): f = anydbm.open(_fname, 'n') for k in self._dict: f[k] = self._dict[k] f.close()
def keys_helper(self, f): keys = f.keys() keys.sort() dkeys = self._dict.keys() dkeys.sort() self.assertEqual(keys, dkeys) return keys
def tearDown(self): _delete_files()
def setUp(self): _delete_files()
def test_main(): try: test_support.run_unittest(AnyDBMTestCase) finally: _delete_files()
if __name__ == "__main__": test_main()
|