Build up test cases a bit

This commit is contained in:
Friedrich Lindenberg 2013-04-01 19:46:17 +02:00
parent 2c17baa6a3
commit 8a97902762
2 changed files with 15 additions and 1 deletions

View File

@ -56,7 +56,7 @@ class Table(object):
self.database.engine.execute(q) self.database.engine.execute(q)
def _ensure_columns(self, row, types={}): def _ensure_columns(self, row, types={}):
for column in set(row.keys()) - set(self.columns.keys()): for column in set(row.keys()) - set(self.table.columns.keys()):
if column in types: if column in types:
_type = types[column] _type = types[column]
else: else:

View File

@ -2,16 +2,30 @@ import unittest
from datetime import datetime from datetime import datetime
from dataset import connect from dataset import connect
from sample_data import TEST_DATA
class DatabaseTestCase(unittest.TestCase): class DatabaseTestCase(unittest.TestCase):
def setUp(self): def setUp(self):
self.db = connect('sqlite:///:memory:') self.db = connect('sqlite:///:memory:')
self.tbl = self.db['weather']
for row in TEST_DATA:
self.tbl.insert(row)
def test_create_table(self): def test_create_table(self):
table = self.db['foo'] table = self.db['foo']
assert table.table.exists() assert table.table.exists()
assert len(table.table.columns) == 1, table.table.columns assert len(table.table.columns) == 1, table.table.columns
assert 'id' in table.table.c, table.table.c
def test_load_table(self):
tbl = self.db.load_table('weather')
assert tbl.table==self.tbl.table
def test_query(self):
r = self.db.query('SELECT COUNT(*) AS num FROM weather').next()
assert r['num']==len(TEST_DATA), r
if __name__ == '__main__': if __name__ == '__main__':