From: Jason Kirtland Date: Tue, 22 Jan 2008 18:06:46 +0000 (+0000) Subject: - Cover 2.3 Decimal fallback X-Git-Tag: rel_0_4_3~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=342adac63723ec93cc1595e29d087a670186f4a2;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - Cover 2.3 Decimal fallback --- diff --git a/test/sql/testtypes.py b/test/sql/testtypes.py index 4d97801556..859015e2ac 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):