diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2020-09-07 18:55:22 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-07 18:55:22 +0300 |
commit | fd4cafd4700dc03cb05fc2e5263c2666d785d6e3 (patch) | |
tree | 3a4b527fd7b3d71d53a3f4570c33460d0a40c25d /Lib/test/test_turtle.py | |
parent | 1baf030a902392fe92d934ed0fb6a385cf7d8869 (diff) | |
download | cpython-fd4cafd4700dc03cb05fc2e5263c2666d785d6e3.tar.gz cpython-fd4cafd4700dc03cb05fc2e5263c2666d785d6e3.zip |
bpo-41720: Add "return NotImplemented" in turtle.Vec2D.__rmul__(). (GH-22092)
Diffstat (limited to 'Lib/test/test_turtle.py')
-rw-r--r-- | Lib/test/test_turtle.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/Lib/test/test_turtle.py b/Lib/test/test_turtle.py index 46ff4a3aac7..86d65075144 100644 --- a/Lib/test/test_turtle.py +++ b/Lib/test/test_turtle.py @@ -130,6 +130,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): @@ -211,9 +219,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) |