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

Method test_pow

Lib/test/test_builtin.py:1766–1826  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1764 self.assertEqual(ord("\U0010FFFF"), 0x0010FFFF)
1765
1766 def test_pow(self):
1767 self.assertEqual(pow(0,0), 1)
1768 self.assertEqual(pow(0,1), 0)
1769 self.assertEqual(pow(1,0), 1)
1770 self.assertEqual(pow(1,1), 1)
1771
1772 self.assertEqual(pow(2,0), 1)
1773 self.assertEqual(pow(2,10), 1024)
1774 self.assertEqual(pow(2,20), 1024*1024)
1775 self.assertEqual(pow(2,30), 1024*1024*1024)
1776
1777 self.assertEqual(pow(-2,0), 1)
1778 self.assertEqual(pow(-2,1), -2)
1779 self.assertEqual(pow(-2,2), 4)
1780 self.assertEqual(pow(-2,3), -8)
1781
1782 self.assertAlmostEqual(pow(0.,0), 1.)
1783 self.assertAlmostEqual(pow(0.,1), 0.)
1784 self.assertAlmostEqual(pow(1.,0), 1.)
1785 self.assertAlmostEqual(pow(1.,1), 1.)
1786
1787 self.assertAlmostEqual(pow(2.,0), 1.)
1788 self.assertAlmostEqual(pow(2.,10), 1024.)
1789 self.assertAlmostEqual(pow(2.,20), 1024.*1024.)
1790 self.assertAlmostEqual(pow(2.,30), 1024.*1024.*1024.)
1791
1792 self.assertAlmostEqual(pow(-2.,0), 1.)
1793 self.assertAlmostEqual(pow(-2.,1), -2.)
1794 self.assertAlmostEqual(pow(-2.,2), 4.)
1795 self.assertAlmostEqual(pow(-2.,3), -8.)
1796
1797 for x in 2, 2.0:
1798 for y in 10, 10.0:
1799 for z in 1000, 1000.0:
1800 if isinstance(x, float) or \
1801 isinstance(y, float) or \
1802 isinstance(z, float):
1803 self.assertRaises(TypeError, pow, x, y, z)
1804 else:
1805 self.assertAlmostEqual(pow(x, y, z), 24.0)
1806
1807 self.assertAlmostEqual(pow(-1, 0.5), 1j)
1808 self.assertAlmostEqual(pow(-1, 1/3), 0.5 + 0.8660254037844386j)
1809
1810 # See test_pow for additional tests for three-argument pow.
1811 self.assertEqual(pow(-1, -2, 3), 1)
1812 self.assertRaises(ValueError, pow, 1, 2, 0)
1813
1814 self.assertRaises(TypeError, pow)
1815
1816 # Test passing in arguments as keywords.
1817 self.assertEqual(pow(0, exp=0), 1)
1818 self.assertEqual(pow(base=2, exp=4), 16)
1819 self.assertEqual(pow(base=5, exp=2, mod=14), 11)
1820 twopow = partial(pow, base=2)
1821 self.assertEqual(twopow(exp=5), 32)
1822 fifth_power = partial(pow, exp=5)
1823 self.assertEqual(fifth_power(2), 32)

Callers

nothing calls this directly

Calls 5

partialClass · 0.90
powFunction · 0.85
assertEqualMethod · 0.45
assertAlmostEqualMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected