summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/alltests.py1
-rw-r--r--test/sql/columns.py48
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()