summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Kirtland <jek@discorporate.us>2008-01-22 18:06:46 +0000
committerJason Kirtland <jek@discorporate.us>2008-01-22 18:06:46 +0000
commit342adac63723ec93cc1595e29d087a670186f4a2 (patch)
tree187b87bf72c4c6e9573f9f96f204a6f75256050f /test
parent412c80dd6c5d6b940e86e7e142aa1fdd6ee4466d (diff)
downloadsqlalchemy-342adac63723ec93cc1595e29d087a670186f4a2.tar.gz
- Cover 2.3 Decimal fallback
Diffstat (limited to 'test')
-rw-r--r--test/sql/testtypes.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py
index 4d9780155..859015e2a 100644
--- a/test/sql/testtypes.py
+++ b/test/sql/testtypes.py
@@ -1,7 +1,7 @@
import testenv; testenv.configure_for_tests()
import datetime, os, pickleable, re
from sqlalchemy import *
-from sqlalchemy import types, exceptions
+from sqlalchemy import exceptions, types, util
from sqlalchemy.sql import operators
import sqlalchemy.engine.url as url
from sqlalchemy.databases import mssql, oracle, mysql, postgres, firebird
@@ -720,8 +720,12 @@ class NumericTest(AssertMixin):
@testing.fails_if(_missing_decimal)
def test_decimal(self):
from decimal import Decimal
- numeric_table.insert().execute(numericcol=3.5, floatcol=5.6, ncasdec=12.4, fcasdec=15.75)
- numeric_table.insert().execute(numericcol=Decimal("3.5"), floatcol=Decimal("5.6"), ncasdec=Decimal("12.4"), fcasdec=Decimal("15.75"))
+ numeric_table.insert().execute(
+ numericcol=3.5, floatcol=5.6, ncasdec=12.4, fcasdec=15.75)
+ numeric_table.insert().execute(
+ numericcol=Decimal("3.5"), floatcol=Decimal("5.6"),
+ ncasdec=Decimal("12.4"), fcasdec=Decimal("15.75"))
+
l = numeric_table.select().execute().fetchall()
print l
rounded = [
@@ -733,6 +737,18 @@ class NumericTest(AssertMixin):
(2, 3.5, 5.6, Decimal("12.4"), Decimal("15.75")),
]
+ @testing.emits_warning('True Decimal types not available')
+ def test_decimal_fallback(self):
+ from sqlalchemy.util import Decimal # could be Decimal or float
+
+ numeric_table.insert().execute(ncasdec=12.4, fcasdec=15.75)
+ numeric_table.insert().execute(ncasdec=Decimal("12.4"),
+ fcasdec=Decimal("15.75"))
+
+ for row in numeric_table.select().execute().fetchall():
+ assert isinstance(row['ncasdec'], util.decimal_type)
+ assert isinstance(row['fcasdec'], util.decimal_type)
+
class IntervalTest(AssertMixin):
def setUpAll(self):