1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 __docformat__ = 'reStructuredText'
20
21 from unittest import TestCase
22 import unittest
23
24 from ..vector import Vector
25 from ..boundvector import BoundVector
26 from ..immutablevector import ImmutableVector
27 from ..verbosevector import VerboseVector
33
35
36 self.assertEqual(self.p.x, 0)
37 self.assertEqual(self.p.y, 5)
38 self.assertEqual(self.p.xy, (0, 5))
39
41 self.p.x = 2
42 self.assertEqual(self.p.xy, (2, 5))
43
45 self.p.y = 4
46 self.assertEqual(self.p.xy, (0, 4))
47
49 self.p.move_to(4, 7)
50 self.assertEqual(self.p.xy, (4, 7))
51
53 self.p.move_by(-1, 2)
54 self.assertEqual(self.p.xy, (-1, 7))
55
57 p2 = Vector(2.0, 5.0)
58
59 v = -self.p
60 self.assert_(isinstance(v, Vector))
61 self.assertEqual(v.xy, (0, -5))
62
63 v = self.p + p2
64 self.assert_(isinstance(v, Vector))
65 self.assertEqual(v.xy, (2, 10))
66
67 v = self.p - p2
68 self.assert_(isinstance(v, Vector))
69 self.assertEqual(v.xy, (-2, 0))
70
71 v = self.p * 2
72 self.assert_(isinstance(v, Vector))
73 self.assertEqual(v.xy, (0, 10))
74
75 v = self.p / 2
76 self.assert_(isinstance(v, Vector))
77 self.assertEqual(v.xy, (0, 2))
78
79 v = p2 / 2
80 self.assert_(isinstance(v, Vector))
81 self.assertEqual(v.xy, (1, 2.5))
82
84 if isinstance(self.p, BoundVector):
85 pass
86
87 self.p += self.p2
88 self.assertEqual(self.p.xy, (2, 10))
89
91 self.p -= self.p2
92 self.assertEqual(self.p.xy, (-2, 0))
93
95 self.p *= 2
96 self.assertEqual(self.p.xy, (0, 10))
97
99 self.p /= 2
100 self.assertEqual(self.p.xy, (0, 2))
101
103 clone = self.p.copy()
104 self.assert_(self.p is not clone)
105 self.assert_(isinstance(clone, Vector))
106 self.assertEqual(clone.xy, self.p.xy)
107 self.assertEqual(clone, self.p)
108
110 v = Vector(2, 7)
111 self.p.assign(v)
112 self.assertEqual(self.p.xy, (2, 7))
113
116 @property
119
120 @x.setter
121 - def x(self, value):
123
124 @property
127
128 @y.setter
129 - def y(self, value):
131
133 self.__x = 0
134 self.__y = 5
135 self.p = BoundVector(self, "x", "y")
136
144
146
147 self.p.x = 3
148 self.assertEqual(self.p.xy, (3, 5))
149 self.assertEqual(self.vholder.x, 3)
150
154 a = VHolder()
155 b = VHolder()
156
157 self.assert_(isinstance(a.p, BoundVector))
158 self.assertFalse(a.p is b.p)
159 self.assertEquals(a.p.xy, (0, 5))
160 self.assertEquals(b.p.xy, (0, 5))
161
162 b.p.y = 3
163 self.assertEquals(a.p.xy, (0, 5))
164 self.assertEquals(b.p.xy, (0, 3))
165
166 b.p.assign(Vector(3, 8))
167 self.assertEquals(a.p.xy, (0, 5))
168 self.assertEquals(b.p.xy, (3, 8))
169
175
179
183
187
191
195
199
203
207
211
217
221 unittest.main(__name__)
222