[Python-checkins] cpython (merge 3.5 -> default): Issue #21916: Added more tests for the turtle module.

serhiy.storchaka python-checkins at python.org
Sun Jun 5 03:38:21 EDT 2016


https://hg.python.org/cpython/rev/356f411e8c5c
changeset:   101751:356f411e8c5c
parent:      101748:d8f021944e0b
parent:      101749:5c1befa401ca
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Sun Jun 05 10:37:19 2016 +0300
summary:
  Issue #21916: Added more tests for the turtle module.
Original patch by Jelle Zijlstra.

files:
  Lib/test/test_turtle.py |  36 +++++++++++++++++++++++++++++
  1 files changed, 36 insertions(+), 0 deletions(-)


diff --git a/Lib/test/test_turtle.py b/Lib/test/test_turtle.py
--- a/Lib/test/test_turtle.py
+++ b/Lib/test/test_turtle.py
@@ -1,3 +1,4 @@
+import pickle
 import unittest
 from test import support
 
@@ -129,6 +130,41 @@
 
 class TestVec2D(VectorComparisonMixin, unittest.TestCase):
 
+    def test_constructor(self):
+        vec = Vec2D(0.5, 2)
+        self.assertEqual(vec[0], 0.5)
+        self.assertEqual(vec[1], 2)
+        self.assertIsInstance(vec, Vec2D)
+
+        self.assertRaises(TypeError, Vec2D)
+        self.assertRaises(TypeError, Vec2D, 0)
+        self.assertRaises(TypeError, Vec2D, (0, 1))
+        self.assertRaises(TypeError, Vec2D, vec)
+        self.assertRaises(TypeError, Vec2D, 0, 1, 2)
+
+    def test_repr(self):
+        vec = Vec2D(0.567, 1.234)
+        self.assertEqual(repr(vec), '(0.57,1.23)')
+
+    def test_equality(self):
+        vec1 = Vec2D(0, 1)
+        vec2 = Vec2D(0.0, 1)
+        vec3 = Vec2D(42, 1)
+        self.assertEqual(vec1, vec2)
+        self.assertEqual(vec1, tuple(vec1))
+        self.assertEqual(tuple(vec1), vec1)
+        self.assertNotEqual(vec1, vec3)
+        self.assertNotEqual(vec2, vec3)
+
+    def test_pickling(self):
+        vec = Vec2D(0.5, 2)
+        for proto in range(pickle.HIGHEST_PROTOCOL + 1):
+            with self.subTest(proto=proto):
+                pickled = pickle.dumps(vec, protocol=proto)
+                unpickled = pickle.loads(pickled)
+                self.assertEqual(unpickled, vec)
+                self.assertIsInstance(unpickled, Vec2D)
+
     def _assert_arithmetic_cases(self, test_cases, lambda_operator):
         for test_case in test_cases:
             with self.subTest(case=test_case):

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list