diff options
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/alltests.py | 1 | ||||
| -rw-r--r-- | test/sql/columns.py | 48 |
2 files changed, 49 insertions, 0 deletions
diff --git a/test/sql/alltests.py b/test/sql/alltests.py index f49cf14d4..173b04632 100644 --- a/test/sql/alltests.py +++ b/test/sql/alltests.py @@ -5,6 +5,7 @@ import unittest def suite(): modules_to_test = ( 'sql.testtypes', + 'sql.columns', 'sql.constraints', 'sql.generative', diff --git a/test/sql/columns.py b/test/sql/columns.py new file mode 100644 index 000000000..0a904bee1 --- /dev/null +++ b/test/sql/columns.py @@ -0,0 +1,48 @@ +import testenv; testenv.configure_for_tests() +from sqlalchemy import * +from sqlalchemy import exceptions, sql +from testlib import * +from sqlalchemy import Table, Column # don't use testlib's wrappers + + +class ColumnDefinitionTest(TestBase): + """Test Column() construction.""" + + # flesh this out with explicit coverage... + + def columns(self): + return [ Column(), + Column('b'), + Column(Integer), + Column('d', Integer), + Column(name='e'), + Column(type_=Integer), + Column(Integer()), + Column('h', Integer()), + Column(type_=Integer()) ] + + def test_basic(self): + c = self.columns() + + for i, v in ((0, 'a'), (2, 'c'), (5, 'f'), (6, 'g'), (8, 'i')): + c[i].name = v + c[i].key = v + del i, v + + tbl = Table('table', MetaData(), *c) + + for i, col in enumerate(tbl.c): + assert col.name == c[i].name + + def test_incomplete(self): + c = self.columns() + + self.assertRaises(exceptions.ArgumentError, Table, 't', MetaData(), *c) + + def test_bogus(self): + self.assertRaises(exceptions.ArgumentError, Column, 'foo', name='bar') + self.assertRaises(exceptions.ArgumentError, Column, 'foo', Integer, + type_=Integer()) + +if __name__ == "__main__": + testenv.main() |
