]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-130230: Add new tests for 3-arg pow() with Decimal (GH-130237) (GH-130247)
authorSerhiy Storchaka <storchaka@gmail.com>
Tue, 18 Feb 2025 08:18:40 +0000 (10:18 +0200)
committerGitHub <noreply@github.com>
Tue, 18 Feb 2025 08:18:40 +0000 (08:18 +0000)
(cherry picked from commit b93b7e566e5a4efe7f077af2083140e50bd2b08f)

Lib/test/test_decimal.py

index 2ec12439d7fee40a28a1d9d8986b5b914835a558..dc1c431a7649fe1de04f76a8c15869c270d268a3 100644 (file)
@@ -4463,6 +4463,15 @@ class Coverage:
             self.assertIs(Decimal("NaN").fma(7, 1).is_nan(), True)
             # three arg power
             self.assertEqual(pow(Decimal(10), 2, 7), 2)
+            if self.decimal == C:
+                self.assertEqual(pow(10, Decimal(2), 7), 2)
+                self.assertEqual(pow(10, 2, Decimal(7)), 2)
+            else:
+                # XXX: Three-arg power doesn't use __rpow__.
+                self.assertRaises(TypeError, pow, 10, Decimal(2), 7)
+                # XXX: There is no special method to dispatch on the
+                # third arg of three-arg power.
+                self.assertRaises(TypeError, pow, 10, 2, Decimal(7))
             # exp
             self.assertEqual(Decimal("1.01").exp(), 3)
             # is_normal