All Downloads are FREE. Search and download functionalities are using the official Maven repository.

lib-python.2.7.bsddb.test.test_db.py Maven / Gradle / Ivy

Go to download

Jython is an implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java, and seamlessly integrated with the Java platform. It thus allows you to run Python on any Java platform.

There is a newer version: 2.7.4
Show newest version
import unittest
import os, glob

from test_all import db, test_support, get_new_environment_path, \
        get_new_database_path

#----------------------------------------------------------------------

class DB(unittest.TestCase):
    import sys
    if sys.version_info < (2, 4) :
        def assertTrue(self, expr, msg=None):
            self.failUnless(expr,msg=msg)

    def setUp(self):
        self.path = get_new_database_path()
        self.db = db.DB()

    def tearDown(self):
        self.db.close()
        del self.db
        test_support.rmtree(self.path)

class DB_general(DB) :
    if db.version() >= (4, 2) :
        def test_bt_minkey(self) :
            for i in [17, 108, 1030] :
                self.db.set_bt_minkey(i)
                self.assertEqual(i, self.db.get_bt_minkey())

        def test_lorder(self) :
            self.db.set_lorder(1234)
            self.assertEqual(1234, self.db.get_lorder())
            self.db.set_lorder(4321)
            self.assertEqual(4321, self.db.get_lorder())
            self.assertRaises(db.DBInvalidArgError, self.db.set_lorder, 9182)

    if db.version() >= (4, 6) :
        def test_priority(self) :
            flags = [db.DB_PRIORITY_VERY_LOW, db.DB_PRIORITY_LOW,
                    db.DB_PRIORITY_DEFAULT, db.DB_PRIORITY_HIGH,
                    db.DB_PRIORITY_VERY_HIGH]
            for flag in flags :
                self.db.set_priority(flag)
                self.assertEqual(flag, self.db.get_priority())

class DB_hash(DB) :
    if db.version() >= (4, 2) :
        def test_h_ffactor(self) :
            for ffactor in [4, 16, 256] :
                self.db.set_h_ffactor(ffactor)
                self.assertEqual(ffactor, self.db.get_h_ffactor())

        def test_h_nelem(self) :
            for nelem in [1, 2, 4] :
                nelem = nelem*1024*1024  # Millions
                self.db.set_h_nelem(nelem)
                self.assertEqual(nelem, self.db.get_h_nelem())

        def test_pagesize(self) :
            for i in xrange(9, 17) :  # From 512 to 65536
                i = 1<= (4, 2) :
        def test_flags(self) :
            self.db.set_flags(db.DB_CHKSUM)
            self.assertEqual(db.DB_CHKSUM, self.db.get_flags())
            self.db.set_flags(db.DB_TXN_NOT_DURABLE)
            self.assertEqual(db.DB_TXN_NOT_DURABLE | db.DB_CHKSUM,
                    self.db.get_flags())

class DB_recno(DB) :
    if db.version() >= (4, 2) :
        def test_re_pad(self) :
            for i in [' ', '*'] :  # Check chars
                self.db.set_re_pad(i)
                self.assertEqual(ord(i), self.db.get_re_pad())
            for i in [97, 65] :  # Check integers
                self.db.set_re_pad(i)
                self.assertEqual(i, self.db.get_re_pad())

        def test_re_delim(self) :
            for i in [' ', '*'] :  # Check chars
                self.db.set_re_delim(i)
                self.assertEqual(ord(i), self.db.get_re_delim())
            for i in [97, 65] :  # Check integers
                self.db.set_re_delim(i)
                self.assertEqual(i, self.db.get_re_delim())

        def test_re_source(self) :
            for i in ["test", "test2", "test3"] :
                self.db.set_re_source(i)
                self.assertEqual(i, self.db.get_re_source())

class DB_queue(DB) :
    if db.version() >= (4, 2) :
        def test_re_len(self) :
            for i in [33, 65, 300, 2000] :
                self.db.set_re_len(i)
                self.assertEqual(i, self.db.get_re_len())

        def test_q_extentsize(self) :
            for i in [1, 60, 100] :
                self.db.set_q_extentsize(i)
                self.assertEqual(i, self.db.get_q_extentsize())

def test_suite():
    suite = unittest.TestSuite()

    suite.addTest(unittest.makeSuite(DB_general))
    suite.addTest(unittest.makeSuite(DB_txn))
    suite.addTest(unittest.makeSuite(DB_hash))
    suite.addTest(unittest.makeSuite(DB_recno))
    suite.addTest(unittest.makeSuite(DB_queue))

    return suite

if __name__ == '__main__':
    unittest.main(defaultTest='test_suite')




© 2015 - 2024 Weber Informatics LLC | Privacy Policy