ยปCore Development>Code coverage>Lib/bsddb/test/test_get_none.py

Python code coverage for Lib/bsddb/test/test_get_none.py

#countcontent
1n/a"""
2n/aTestCases for checking set_get_returns_none.
3n/a"""
4n/a
5n/aimport os, string
6n/aimport unittest
7n/a
8n/afrom test_all import db, verbose, get_new_database_path
9n/a
10n/a
11n/a#----------------------------------------------------------------------
12n/a
13n/aclass GetReturnsNoneTestCase(unittest.TestCase):
14n/a def setUp(self):
15n/a self.filename = get_new_database_path()
16n/a
17n/a def tearDown(self):
18n/a try:
19n/a os.remove(self.filename)
20n/a except os.error:
21n/a pass
22n/a
23n/a
24n/a def test01_get_returns_none(self):
25n/a d = db.DB()
26n/a d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
27n/a d.set_get_returns_none(1)
28n/a
29n/a for x in string.letters:
30n/a d.put(x, x * 40)
31n/a
32n/a data = d.get('bad key')
33n/a self.assertEqual(data, None)
34n/a
35n/a data = d.get(string.letters[0])
36n/a self.assertEqual(data, string.letters[0]*40)
37n/a
38n/a count = 0
39n/a c = d.cursor()
40n/a rec = c.first()
41n/a while rec:
42n/a count = count + 1
43n/a rec = c.next()
44n/a
45n/a self.assertEqual(rec, None)
46n/a self.assertEqual(count, len(string.letters))
47n/a
48n/a c.close()
49n/a d.close()
50n/a
51n/a
52n/a def test02_get_raises_exception(self):
53n/a d = db.DB()
54n/a d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
55n/a d.set_get_returns_none(0)
56n/a
57n/a for x in string.letters:
58n/a d.put(x, x * 40)
59n/a
60n/a self.assertRaises(db.DBNotFoundError, d.get, 'bad key')
61n/a self.assertRaises(KeyError, d.get, 'bad key')
62n/a
63n/a data = d.get(string.letters[0])
64n/a self.assertEqual(data, string.letters[0]*40)
65n/a
66n/a count = 0
67n/a exceptionHappened = 0
68n/a c = d.cursor()
69n/a rec = c.first()
70n/a while rec:
71n/a count = count + 1
72n/a try:
73n/a rec = c.next()
74n/a except db.DBNotFoundError: # end of the records
75n/a exceptionHappened = 1
76n/a break
77n/a
78n/a self.assertNotEqual(rec, None)
79n/a self.assert_(exceptionHappened)
80n/a self.assertEqual(count, len(string.letters))
81n/a
82n/a c.close()
83n/a d.close()
84n/a
85n/a#----------------------------------------------------------------------
86n/a
87n/adef test_suite():
88n/a return unittest.makeSuite(GetReturnsNoneTestCase)
89n/a
90n/a
91n/aif __name__ == '__main__':
92n/a unittest.main(defaultTest='test_suite')