(self)
| 403 | self.assertTrue(math.isnan(math.cbrt(NAN))) |
| 404 | |
| 405 | def testCeil(self): |
| 406 | self.assertRaises(TypeError, math.ceil) |
| 407 | self.assertEqual(int, type(math.ceil(0.5))) |
| 408 | self.assertEqual(math.ceil(0.5), 1) |
| 409 | self.assertEqual(math.ceil(1.0), 1) |
| 410 | self.assertEqual(math.ceil(1.5), 2) |
| 411 | self.assertEqual(math.ceil(-0.5), 0) |
| 412 | self.assertEqual(math.ceil(-1.0), -1) |
| 413 | self.assertEqual(math.ceil(-1.5), -1) |
| 414 | self.assertEqual(math.ceil(0.0), 0) |
| 415 | self.assertEqual(math.ceil(-0.0), 0) |
| 416 | #self.assertEqual(math.ceil(INF), INF) |
| 417 | #self.assertEqual(math.ceil(NINF), NINF) |
| 418 | #self.assertTrue(math.isnan(math.ceil(NAN))) |
| 419 | |
| 420 | class TestCeil: |
| 421 | def __ceil__(self): |
| 422 | return 42 |
| 423 | class FloatCeil(float): |
| 424 | def __ceil__(self): |
| 425 | return 42 |
| 426 | class TestNoCeil: |
| 427 | pass |
| 428 | class TestBadCeil: |
| 429 | __ceil__ = BadDescr() |
| 430 | self.assertEqual(math.ceil(TestCeil()), 42) |
| 431 | self.assertEqual(math.ceil(FloatCeil()), 42) |
| 432 | self.assertEqual(math.ceil(FloatLike(42.5)), 43) |
| 433 | self.assertRaises(TypeError, math.ceil, TestNoCeil()) |
| 434 | self.assertRaises(ValueError, math.ceil, TestBadCeil()) |
| 435 | |
| 436 | t = TestNoCeil() |
| 437 | t.__ceil__ = lambda *args: args |
| 438 | self.assertRaises(TypeError, math.ceil, t) |
| 439 | self.assertRaises(TypeError, math.ceil, t, 0) |
| 440 | |
| 441 | self.assertEqual(math.ceil(FloatLike(+1.0)), +1.0) |
| 442 | self.assertEqual(math.ceil(FloatLike(-1.0)), -1.0) |
| 443 | |
| 444 | @requires_IEEE_754 |
| 445 | def testCopysign(self): |
nothing calls this directly
no test coverage detected