示例#1
0
文件: test_db.py 项目: vamin/MESS.DB
 def setUp(self):
     self.tmp_dir = './tmp'
     if not os.path.exists(self.tmp_dir):
         os.mkdir(self.tmp_dir)
     with suppress_stderr():  # silence 'MESS.DB created' message
         self.db = MessDB(database='%s/test.db' % self.tmp_dir)
示例#2
0
文件: test_db.py 项目: vamin/MESS.DB
class TestDB(unittest.TestCase):
    def setUp(self):
        self.tmp_dir = './tmp'
        if not os.path.exists(self.tmp_dir):
            os.mkdir(self.tmp_dir)
        with suppress_stderr():  # silence 'MESS.DB created' message
            self.db = MessDB(database='%s/test.db' % self.tmp_dir)
    
    def tearDown(self):
        shutil.rmtree(self.tmp_dir)
    
    def test_reopen(self):
        self.db.reopen()
    
    def test_close(self):
        self.db.close()
    
    def test_cursor(self):
        cur = self.db.cursor()
        self.assertRegexpMatches(str(cur), 'sqlite3.Cursor')
    
    def test_insert_select(self):
        insert_query = 'INSERT INTO molecule (inchikey) VALUES (?)'
        self.db.execute(insert_query, ('TEST', ))
        count = 0
        for row in self.db.execute('SELECT * FROM molecule').fetchall():
            self.assertEquals(row.inchikey, 'TEST')
            count += 1
        self.assertEquals(count, 1)
    
    def test_executemany(self):
        insert_query = 'INSERT INTO method_path VALUES (?, ?)'
        values = ((1, 17), (2, 17), (3, 17))
        self.db.executemany(insert_query, values)
        select_query = 'SELECT length FROM method_path'
        count = 0
        for row in self.db.execute(select_query).fetchall():
            self.assertEquals(row.length, 17)
            count += 1
        self.assertEquals(count, 3)
    
    def test_executescript(self):
        pass
    
    def test_check(self):
        self.assertTrue(self.db.check())
        self.db.execute('DROP TABLE molecule')
        self.assertFalse(self.db.check())