Fix py3k warnings in test_decimal, using unittest.assertItemsEqual.

This commit is contained in:
Florent Xicluna 2010-03-21 10:51:40 +00:00
parent 4a0f8b89f6
commit 8f43cec41b
1 changed files with 15 additions and 17 deletions

View File

@ -30,7 +30,8 @@ import pickle, copy
import unittest
from decimal import *
import numbers
from test.test_support import (run_unittest, run_doctest, is_resource_enabled)
from test.test_support import (run_unittest, run_doctest,
is_resource_enabled, check_py3k_warnings)
import random
try:
import threading
@ -201,7 +202,7 @@ class DecimalTest(unittest.TestCase):
if skip_expected:
raise unittest.SkipTest
return
for line in open(file).xreadlines():
for line in open(file):
line = line.replace('\r\n', '').replace('\n', '')
#print line
try:
@ -360,12 +361,9 @@ class DecimalTest(unittest.TestCase):
myexceptions = self.getexceptions()
self.context.clear_flags()
myexceptions.sort()
theirexceptions.sort()
self.assertEqual(result, ans,
'Incorrect answer for ' + s + ' -- got ' + result)
self.assertEqual(myexceptions, theirexceptions,
self.assertItemsEqual(myexceptions, theirexceptions,
'Incorrect flags set in ' + s + ' -- got ' + str(myexceptions))
return
@ -616,12 +614,13 @@ class DecimalImplicitConstructionTest(unittest.TestCase):
('//', '__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__'))
with check_py3k_warnings():
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))
@ -1199,8 +1198,9 @@ class DecimalUsabilityTest(unittest.TestCase):
self.assertEqual(a, b)
# with None
self.assertFalse(Decimal(1) < None)
self.assertTrue(Decimal(1) > None)
with check_py3k_warnings():
self.assertFalse(Decimal(1) < None)
self.assertTrue(Decimal(1) > None)
def test_copy_and_deepcopy_methods(self):
d = Decimal('43.24')
@ -2141,16 +2141,14 @@ class ContextFlags(unittest.TestCase):
for flag in extra_flags:
if flag not in expected_flags:
expected_flags.append(flag)
expected_flags.sort()
# flags we actually got
new_flags = [k for k,v in context.flags.items() if v]
new_flags.sort()
self.assertEqual(ans, new_ans,
"operation produces different answers depending on flags set: " +
"expected %s, got %s." % (ans, new_ans))
self.assertEqual(new_flags, expected_flags,
self.assertItemsEqual(new_flags, expected_flags,
"operation raises different flags depending on flags set: " +
"expected %s, got %s" % (expected_flags, new_flags))