summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-09-24 04:13:37 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-09-24 04:13:37 +0000
commit7c3eb188bfa432bbe586e2514f3bb32bec1ddde0 (patch)
tree0309908e78206a21a2e95786f82ab6fcf31a828e /test
parent455bf5f9da2cfe62ce3ea9983f57faf9191b8350 (diff)
downloadsqlalchemy-7c3eb188bfa432bbe586e2514f3bb32bec1ddde0.tar.gz
Diffstat (limited to 'test')
-rw-r--r--test/types.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/types.py b/test/types.py
new file mode 100644
index 000000000..836858aaf
--- /dev/null
+++ b/test/types.py
@@ -0,0 +1,44 @@
+from testbase import PersistTest
+import sqlalchemy.types as types
+from sqlalchemy.schema import *
+
+import unittest, sys, os
+
+
+
+class TypesTest(PersistTest):
+
+ def testprocessing(self):
+ import sqlalchemy.databases.sqlite as sqllite
+ db = sqllite.engine(':memory:', {}, echo = True)
+
+ class MyType(types.TypeEngine):
+ def get_col_spec(self):
+ return "VARCHAR(100)"
+ def convert_bind_param(self, value):
+ return "BIND_IN"+ value
+ def convert_result_value(self, value):
+ return value + "BIND_OUT"
+ def adapt(self, typeobj):
+ return typeobj()
+ def adapt_args(self):
+ return self
+
+ users = Table('users', db,
+ Column('user_id', Integer, primary_key = True),
+ Column('goofy', MyType, nullable = False)
+ )
+
+ users.create()
+
+ users.insert().execute(user_id = 2, goofy = 'jack')
+ users.insert().execute(user_id = 3, goofy = 'lala')
+ users.insert().execute(user_id = 4, goofy = 'fred')
+
+ l = users.select().execute().fetchall()
+ print repr(l)
+ self.assert_(l == [(2, u'BIND_INjackBIND_OUT'), (3, u'BIND_INlalaBIND_OUT'), (4, u'BIND_INfredBIND_OUT')])
+
+
+if __name__ == "__main__":
+ unittest.main()