AddressList.__str__(): Get rid of useless, and broken method. Closes
[python/dscho.git] / Lib / bsddb / test / test_get_none.py
blob40b224e864d7ae44e348a7273c860e9171aa6d07
1 """
2 TestCases for checking set_get_returns_none.
3 """
5 import sys, os, string
6 import tempfile
7 from pprint import pprint
8 import unittest
10 try:
11 # For Python 2.3
12 from bsddb import db
13 except ImportError:
14 # For earlier Pythons w/distutils pybsddb
15 from bsddb3 import db
17 from test_all import verbose
20 #----------------------------------------------------------------------
22 class GetReturnsNoneTestCase(unittest.TestCase):
23 def setUp(self):
24 self.filename = tempfile.mktemp()
26 def tearDown(self):
27 try:
28 os.remove(self.filename)
29 except os.error:
30 pass
33 def test01_get_returns_none(self):
34 d = db.DB()
35 d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
36 d.set_get_returns_none(1)
38 for x in string.letters:
39 d.put(x, x * 40)
41 data = d.get('bad key')
42 assert data == None
44 data = d.get('a')
45 assert data == 'a'*40
47 count = 0
48 c = d.cursor()
49 rec = c.first()
50 while rec:
51 count = count + 1
52 rec = c.next()
54 assert rec == None
55 assert count == 52
57 c.close()
58 d.close()
61 def test02_get_raises_exception(self):
62 d = db.DB()
63 d.open(self.filename, db.DB_BTREE, db.DB_CREATE)
64 d.set_get_returns_none(0)
66 for x in string.letters:
67 d.put(x, x * 40)
69 self.assertRaises(db.DBNotFoundError, d.get, 'bad key')
70 self.assertRaises(KeyError, d.get, 'bad key')
72 data = d.get('a')
73 assert data == 'a'*40
75 count = 0
76 exceptionHappened = 0
77 c = d.cursor()
78 rec = c.first()
79 while rec:
80 count = count + 1
81 try:
82 rec = c.next()
83 except db.DBNotFoundError: # end of the records
84 exceptionHappened = 1
85 break
87 assert rec != None
88 assert exceptionHappened
89 assert count == 52
91 c.close()
92 d.close()
94 #----------------------------------------------------------------------
96 def test_suite():
97 return unittest.makeSuite(GetReturnsNoneTestCase)
100 if __name__ == '__main__':
101 unittest.main(defaultTest='test_suite')