summaryrefslogtreecommitdiff
path: root/test/dialect
diff options
context:
space:
mode:
authorMichael Trier <mtrier@gmail.com>2008-11-08 06:37:45 +0000
committerMichael Trier <mtrier@gmail.com>2008-11-08 06:37:45 +0000
commit17980ba83c9e492f156e9c027ce62990e5f9d6fa (patch)
treeb7ad65d8d5d6962f89d37b4bb110a75ef474fe73 /test/dialect
parent8924a0e4fe3f6dfe3f90413deb8bee8cd776cafb (diff)
downloadsqlalchemy-17980ba83c9e492f156e9c027ce62990e5f9d6fa.tar.gz
Fixed E notation problem in mssql. Closes #1216.
Diffstat (limited to 'test/dialect')
-rwxr-xr-xtest/dialect/mssql.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/dialect/mssql.py b/test/dialect/mssql.py
index 26fc75243..1927de3f3 100755
--- a/test/dialect/mssql.py
+++ b/test/dialect/mssql.py
@@ -366,5 +366,39 @@ class ParseConnectTest(TestBase, AssertsCompiledSQL):
connection = dialect.create_connect_args(u)
self.assertEquals([['DRIVER={SQL Server};Server=hostspec;Database=database;UID=username;PWD=password;foo=bar;LANGUAGE=us_english'], {}], connection)
+class TypesTest(TestBase):
+ __only_on__ = 'mssql'
+
+ def setUpAll(self):
+ global numeric_table, metadata
+ metadata = MetaData(testing.db)
+ numeric_table = Table('numeric_table', metadata,
+ Column('id', Integer, Sequence('numeric_id_seq', optional=True), primary_key=True),
+ Column('numericcol', Numeric(asdecimal=False))
+ )
+ metadata.create_all()
+
+ def tearDownAll(self):
+ metadata.drop_all()
+
+ def tearDown(self):
+ numeric_table.delete().execute()
+
+ def test_decimal_e_notation(self):
+ from decimal import Decimal
+
+ try:
+ numeric_table.insert().execute(numericcol=Decimal('4.1'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-1'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-2'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-3'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-4'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-5'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-6'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-7'))
+ numeric_table.insert().execute(numericcol=Decimal('1E-8'))
+ except:
+ assert False
+
if __name__ == "__main__":
testenv.main()