mirror of
https://github.com/python/cpython.git
synced 2025-07-29 06:05:00 +00:00
Move __builtins__.trunc() to math.trunc() per
http://mail.python.org/pipermail/python-dev/2008-January/076626.html and issue 1965.
This commit is contained in:
parent
951cc0f474
commit
ca2b69f765
9 changed files with 72 additions and 70 deletions
|
@ -237,6 +237,37 @@ class MathTests(unittest.TestCase):
|
|||
self.ftest('tanh(0)', math.tanh(0), 0)
|
||||
self.ftest('tanh(1)+tanh(-1)', math.tanh(1)+math.tanh(-1), 0)
|
||||
|
||||
def test_trunc(self):
|
||||
self.assertEqual(math.trunc(1), 1)
|
||||
self.assertEqual(math.trunc(-1), -1)
|
||||
self.assertEqual(type(math.trunc(1)), int)
|
||||
self.assertEqual(type(math.trunc(1.5)), int)
|
||||
self.assertEqual(math.trunc(1.5), 1)
|
||||
self.assertEqual(math.trunc(-1.5), -1)
|
||||
self.assertEqual(math.trunc(1.999999), 1)
|
||||
self.assertEqual(math.trunc(-1.999999), -1)
|
||||
self.assertEqual(math.trunc(-0.999999), -0)
|
||||
self.assertEqual(math.trunc(-100.999), -100)
|
||||
|
||||
class TestTrunc(object):
|
||||
def __trunc__(self):
|
||||
return 23
|
||||
|
||||
class TestNoTrunc(object):
|
||||
pass
|
||||
|
||||
self.assertEqual(math.trunc(TestTrunc()), 23)
|
||||
|
||||
self.assertRaises(TypeError, math.trunc)
|
||||
self.assertRaises(TypeError, math.trunc, 1, 2)
|
||||
# XXX: This is not ideal, but see the comment in math_trunc().
|
||||
self.assertRaises(AttributeError, math.trunc, TestNoTrunc())
|
||||
|
||||
t = TestNoTrunc()
|
||||
t.__trunc__ = lambda *args: args
|
||||
self.assertEquals((), math.trunc(t))
|
||||
self.assertRaises(TypeError, math.trunc, t, 0)
|
||||
|
||||
def testCopysign(self):
|
||||
self.assertEqual(math.copysign(1, 42), 1.0)
|
||||
self.assertEqual(math.copysign(0., 42), 0.0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue