MCPcopy Index your code
hub / github.com/python/cpython / testCeil

Method testCeil

Lib/test/test_math.py:374–411  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

372 self.assertTrue(math.isnan(math.cbrt(NAN)))
373
374 def testCeil(self):
375 self.assertRaises(TypeError, math.ceil)
376 self.assertEqual(int, type(math.ceil(0.5)))
377 self.assertEqual(math.ceil(0.5), 1)
378 self.assertEqual(math.ceil(1.0), 1)
379 self.assertEqual(math.ceil(1.5), 2)
380 self.assertEqual(math.ceil(-0.5), 0)
381 self.assertEqual(math.ceil(-1.0), -1)
382 self.assertEqual(math.ceil(-1.5), -1)
383 self.assertEqual(math.ceil(0.0), 0)
384 self.assertEqual(math.ceil(-0.0), 0)
385 #self.assertEqual(math.ceil(INF), INF)
386 #self.assertEqual(math.ceil(NINF), NINF)
387 #self.assertTrue(math.isnan(math.ceil(NAN)))
388
389 class TestCeil:
390 def __ceil__(self):
391 return 42
392 class FloatCeil(float):
393 def __ceil__(self):
394 return 42
395 class TestNoCeil:
396 pass
397 class TestBadCeil:
398 __ceil__ = BadDescr()
399 self.assertEqual(math.ceil(TestCeil()), 42)
400 self.assertEqual(math.ceil(FloatCeil()), 42)
401 self.assertEqual(math.ceil(FloatLike(42.5)), 43)
402 self.assertRaises(TypeError, math.ceil, TestNoCeil())
403 self.assertRaises(ValueError, math.ceil, TestBadCeil())
404
405 t = TestNoCeil()
406 t.__ceil__ = lambda *args: args
407 self.assertRaises(TypeError, math.ceil, t)
408 self.assertRaises(TypeError, math.ceil, t, 0)
409
410 self.assertEqual(math.ceil(FloatLike(+1.0)), +1.0)
411 self.assertEqual(math.ceil(FloatLike(-1.0)), -1.0)
412
413 @requires_IEEE_754
414 def testCopysign(self):

Callers

nothing calls this directly

Calls 7

TestCeilClass · 0.85
FloatCeilClass · 0.85
TestNoCeilClass · 0.85
TestBadCeilClass · 0.85
FloatLikeClass · 0.70
assertRaisesMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected