MCPcopy Create free account
hub / github.com/RustPython/RustPython / testCeil

Method testCeil

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

Source from the content-addressed store, hash-verified

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):

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