From 7c3eb188bfa432bbe586e2514f3bb32bec1ddde0 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 24 Sep 2005 04:13:37 +0000 Subject: [PATCH] --- test/types.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 test/types.py diff --git a/test/types.py b/test/types.py new file mode 100644 index 0000000000..836858aaf8 --- /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() -- 2.47.2