diff options
| author | Jason Kirtland <jek@discorporate.us> | 2008-01-22 18:06:46 +0000 |
|---|---|---|
| committer | Jason Kirtland <jek@discorporate.us> | 2008-01-22 18:06:46 +0000 |
| commit | 342adac63723ec93cc1595e29d087a670186f4a2 (patch) | |
| tree | 187b87bf72c4c6e9573f9f96f204a6f75256050f | |
| parent | 412c80dd6c5d6b940e86e7e142aa1fdd6ee4466d (diff) | |
| download | sqlalchemy-342adac63723ec93cc1595e29d087a670186f4a2.tar.gz | |
- Cover 2.3 Decimal fallback
| -rw-r--r-- | test/sql/testtypes.py | 22 |
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): |
