From 87d6cd3604e5c83c06339276228139f5e040b0e7 Mon Sep 17 00:00:00 2001 From: Ammar Askar Date: Sat, 21 Sep 2019 00:28:49 -0400 Subject: bpo-38237: Make pow's arguments have more descriptive names and be keyword passable (GH-16302) Edit: `math.pow` changes removed on Mark's request. https://bugs.python.org/issue38237 Automerge-Triggered-By: @rhettinger --- Lib/test/test_builtin.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Lib/test/test_builtin.py') diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index e1d2fffb36..abccf32227 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -19,6 +19,7 @@ import types import unittest import warnings from contextlib import ExitStack +from functools import partial from inspect import CO_COROUTINE from itertools import product from textwrap import dedent @@ -1206,6 +1207,18 @@ class BuiltinTest(unittest.TestCase): self.assertRaises(TypeError, pow) + # Test passing in arguments as keywords. + self.assertEqual(pow(0, exp=0), 1) + self.assertEqual(pow(base=2, exp=4), 16) + self.assertEqual(pow(base=5, exp=2, mod=14), 11) + twopow = partial(pow, base=2) + self.assertEqual(twopow(exp=5), 32) + fifth_power = partial(pow, exp=5) + self.assertEqual(fifth_power(2), 32) + mod10 = partial(pow, mod=10) + self.assertEqual(mod10(2, 6), 4) + self.assertEqual(mod10(exp=6, base=2), 4) + def test_input(self): self.write_testfile() fp = open(TESTFN, 'r') -- cgit v1.2.1