]> granicus.if.org Git - python/commitdiff
Make test_decimal work with -Qnew.
authorGeorg Brandl <georg@python.org>
Tue, 28 Mar 2006 08:06:35 +0000 (08:06 +0000)
committerGeorg Brandl <georg@python.org>
Tue, 28 Mar 2006 08:06:35 +0000 (08:06 +0000)
Lib/test/test_decimal.py

index 34f034b850bc3c8262c945329c4a62168da1db46..29b28ef56c39f118d8ce847e426791e1aeae4cae 100644 (file)
@@ -503,16 +503,22 @@ class DecimalImplicitConstructionTest(unittest.TestCase):
         self.assertEqual(eval('Decimal(10) != E()'), 'ne 10')
 
         # insert operator methods and then exercise them
-        for sym, lop, rop in (
-                ('+', '__add__', '__radd__'),
-                ('-', '__sub__', '__rsub__'),
-                ('*', '__mul__', '__rmul__'),
-                ('/', '__div__', '__rdiv__'),
-                ('%', '__mod__', '__rmod__'),
-                ('//', '__floordiv__', '__rfloordiv__'),
-                ('**', '__pow__', '__rpow__'),
-            ):
-
+        oplist = [
+            ('+', '__add__', '__radd__'),
+            ('-', '__sub__', '__rsub__'),
+            ('*', '__mul__', '__rmul__'),
+            ('%', '__mod__', '__rmod__'),
+            ('//', '__floordiv__', '__rfloordiv__'),
+            ('**', '__pow__', '__rpow__')
+        ]
+        if 1/2 == 0:
+            # testing with classic division, so add __div__
+            oplist.append(('/', '__div__', '__rdiv__'))
+        else:
+            # testing with -Qnew, so add __truediv__
+            oplist.append(('/', '__truediv__', '__rtruediv__'))
+        
+        for sym, lop, rop in oplist:
             setattr(E, lop, lambda self, other: 'str' + lop + str(other))
             setattr(E, rop, lambda self, other: str(other) + rop + 'str')
             self.assertEqual(eval('E()' + sym + 'Decimal(10)'),