mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
bpo-41720: Add "return NotImplemented" in turtle.Vec2D.__rmul__(). (GH-22092)
(cherry picked from commit fd4cafd470
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
c73ee5acc9
commit
1671b0e4e0
3 changed files with 19 additions and 2 deletions
|
@ -127,6 +127,14 @@ class VectorComparisonMixin:
|
|||
self.assertAlmostEqual(
|
||||
i, j, msg='values at index {} do not match'.format(idx))
|
||||
|
||||
class Multiplier:
|
||||
|
||||
def __mul__(self, other):
|
||||
return f'M*{other}'
|
||||
|
||||
def __rmul__(self, other):
|
||||
return f'{other}*M'
|
||||
|
||||
|
||||
class TestVec2D(VectorComparisonMixin, unittest.TestCase):
|
||||
|
||||
|
@ -208,9 +216,15 @@ class TestVec2D(VectorComparisonMixin, unittest.TestCase):
|
|||
self.assertAlmostEqual(answer, expected)
|
||||
|
||||
vec = Vec2D(0.5, 3)
|
||||
answer = vec * 10
|
||||
expected = Vec2D(5, 30)
|
||||
self.assertVectorsAlmostEqual(answer, expected)
|
||||
self.assertVectorsAlmostEqual(vec * 10, expected)
|
||||
self.assertVectorsAlmostEqual(10 * vec, expected)
|
||||
self.assertVectorsAlmostEqual(vec * 10.0, expected)
|
||||
self.assertVectorsAlmostEqual(10.0 * vec, expected)
|
||||
|
||||
M = Multiplier()
|
||||
self.assertEqual(vec * M, Vec2D(f"{vec[0]}*M", f"{vec[1]}*M"))
|
||||
self.assertEqual(M * vec, f'M*{vec}')
|
||||
|
||||
def test_vector_negative(self):
|
||||
vec = Vec2D(10, -10)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue