Revert the previous patch to test_pow.py and move the test to test_unary.py

based on a suggestion from Tim Peters; also make sure that we're really
doing exponentiation and not multiplication.
This commit is contained in:
Fred Drake 2001-08-30 19:15:20 +00:00
parent d256271c55
commit 702ca4ffcb
2 changed files with 8 additions and 10 deletions

View File

@ -1,8 +1,6 @@
import sys
import test_support
from test_support import verify
def powtest(type):
if type != float:
@ -79,14 +77,6 @@ powtest(long)
print 'Testing floating point mode...'
powtest(float)
# Make sure '**' does the right thing; these form a
# regression test for SourceForge bug #456756.
#
verify((-2 ** 2) == -4,
"expected '-2 ** 2' to be -4, got %s" % (-2 ** 2))
verify(((-2) ** 2) == 4,
"expected '(-2) ** 2' to be 4, got %s" % ((-2) ** 2))
# Other tests-- not very systematic
print 'The number in both columns should match.'

View File

@ -33,6 +33,14 @@ class UnaryOpTestCase(unittest.TestCase):
self.assert_(eval("-" + nines) == eval("-" + nines + "L"))
self.assert_(eval("~" + nines) == eval("~" + nines + "L"))
def test_negation_of_exponentiation(self):
# Make sure '**' does the right thing; these form a
# regression test for SourceForge bug #456756.
self.assertEqual(-2 ** 3, -8)
self.assertEqual((-2) ** 3, -8)
self.assertEqual(-2 ** 4, -16)
self.assertEqual((-2) ** 4, 16)
def test_bad_types(self):
for op in '+', '-', '~':
self.assertRaises(TypeError, eval, op + "'a'")