diff -r 0a8509023c09 Lib/test/test_turtle.py --- a/Lib/test/test_turtle.py Sun Jun 05 01:38:29 2016 +0200 +++ b/Lib/test/test_turtle.py Sat Jun 04 16:55:47 2016 -0700 @@ -1,3 +1,4 @@ +import pickle import unittest from test import support @@ -129,6 +130,39 @@ class TestVec2D(VectorComparisonMixin, unittest.TestCase): + def test_constructor(self): + vec = Vec2D(0, 1) + self.assertEqual(vec[0], 0) + self.assertEqual(vec[1], 1) + self.assertIsInstance(vec, Vec2D) + + with self.assertRaises(TypeError): + Vec2D() + + with self.assertRaises(TypeError): + Vec2D((0, 1)) + + with self.assertRaises(TypeError): + Vec2D(0, 1, 2) + + def test_repr(self): + vec = Vec2D(0, 1) + self.assertEqual(repr(vec), '(0.00,1.00)') + + def test_equality(self): + vec1 = Vec2D(0, 1) + vec2 = Vec2D(0.0, 1) + vec3 = Vec2D(42, 1) + self.assertEqual(vec1, vec2) + self.assertNotEqual(vec1, vec3) + self.assertNotEqual(vec2, vec3) + + def test_pickling(self): + vec = Vec2D(0, 1) + pickled = pickle.dumps(vec) + unpickled = pickle.loads(pickled) + self.assertEqual(vec, unpickled) + def _assert_arithmetic_cases(self, test_cases, lambda_operator): for test_case in test_cases: with self.subTest(case=test_case):