Author: kmtracey
Date: 2010-09-10 12:57:42 -0500 (Fri, 10 Sep 2010)
New Revision: 13712
Modified:
django/trunk/tests/regressiontests/aggregation_regress/tests.py
Log:
Fixed #14246: Modified aggregation_regress tests so that they will pass on a
variety (sqlite, Postgres, MySQL/MyISAM) of DBs.
Modified: django/trunk/tests/regressiontests/aggregation_regress/tests.py
===================================================================
--- django/trunk/tests/regressiontests/aggregation_regress/tests.py
2010-09-10 17:49:42 UTC (rev 13711)
+++ django/trunk/tests/regressiontests/aggregation_regress/tests.py
2010-09-10 17:57:42 UTC (rev 13712)
@@ -135,7 +135,6 @@
contact_id=3,
id=2,
isbn=u'067232959',
- manufacture_cost=11.545,
mean_auth_age=45.0,
name='Sams Teach Yourself Django in 24 Hours',
pages=528,
@@ -144,6 +143,8 @@
publisher_id=2,
rating=3.0
)
+ # Different DB backends return different types for the extra select
computation
+ self.assertTrue(obj.manufacture_cost == 11.545 or obj.manufacture_cost
== Decimal('11.545'))
# Order of the annotate/extra in the query doesn't matter
obj = Book.objects.extra(select={'manufacture_cost' : 'price *
.5'}).annotate(mean_auth_age=Avg('authors__age')).get(pk=2)
@@ -151,7 +152,6 @@
contact_id=3,
id=2,
isbn=u'067232959',
- manufacture_cost=11.545,
mean_auth_age=45.0,
name=u'Sams Teach Yourself Django in 24 Hours',
pages=528,
@@ -160,14 +160,18 @@
publisher_id=2,
rating=3.0
)
+ # Different DB backends return different types for the extra select
computation
+ self.assertTrue(obj.manufacture_cost == 11.545 or obj.manufacture_cost
== Decimal('11.545'))
# Values queries can be combined with annotate and extra
obj =
Book.objects.annotate(mean_auth_age=Avg('authors__age')).extra(select={'manufacture_cost'
: 'price * .5'}).values().get(pk=2)
+ manufacture_cost = obj['manufacture_cost']
+ self.assertTrue(manufacture_cost == 11.545 or manufacture_cost ==
Decimal('11.545'))
+ del obj['manufacture_cost']
self.assertEqual(obj, {
"contact_id": 3,
"id": 2,
"isbn": u"067232959",
- "manufacture_cost": 11.545,
"mean_auth_age": 45.0,
"name": u"Sams Teach Yourself Django in 24 Hours",
"pages": 528,
@@ -180,11 +184,13 @@
# The order of the (empty) values, annotate and extra clauses doesn't
# matter
obj =
Book.objects.values().annotate(mean_auth_age=Avg('authors__age')).extra(select={'manufacture_cost'
: 'price * .5'}).get(pk=2)
+ manufacture_cost = obj['manufacture_cost']
+ self.assertTrue(manufacture_cost == 11.545 or manufacture_cost ==
Decimal('11.545'))
+ del obj['manufacture_cost']
self.assertEqual(obj, {
'contact_id': 3,
'id': 2,
'isbn': u'067232959',
- 'manufacture_cost': 11.545,
'mean_auth_age': 45.0,
'name': u'Sams Teach Yourself Django in 24 Hours',
'pages': 528,
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.