Moved documentation, and added more operators to Vertex

- added __neg__
    - added cross for Vertex * Vertex
    - added tests for these
    - moved the cube docstring up into the cube generating function
This commit is contained in:
Stephen M. McQuay
2012-03-20 07:16:15 -06:00
parent 9a5fc54f12
commit 93891b917b
3 changed files with 123 additions and 73 deletions
+31 -1
View File
@@ -1,6 +1,6 @@
import unittest
from surf.geometry import Vertex
from surf.geometry import Vertex, cross
class TestVertexOperations(unittest.TestCase):
@@ -30,6 +30,36 @@ class TestVertexOperations(unittest.TestCase):
v2 = self.v1 / 2.0
self.assertEqual(v1, v2)
def test_multiply(self):
self.assertEqual(type(self.v1 * 2), Vertex)
self.assertEqual(type(self.v1 * self.v1), Vertex)
self.assertEqual(self.v1 * 2, Vertex(-2, -2, -2))
self.assertEqual(self.v1 * self.v1, Vertex(0, 0, 0))
self.assertEqual(self.v1 * self.v2, Vertex(0, 0, 0))
self.assertEqual(self.v3 * self.v4, Vertex(58, -35, -50))
def test_cross(self):
i = Vertex(1, 0, 0)
j = Vertex(0, 1, 0)
k = Vertex(0, 0, 1)
self.assertEqual(i * j, k)
self.assertEqual(j * k, i)
self.assertEqual(k * i, j)
self.assertEqual(j * i, -k)
self.assertEqual(k * j, -i)
self.assertEqual(i * k, -j)
self.assertEqual(i * i, self.origin)
self.assertEqual(j * j, self.origin)
self.assertEqual(k * k, self.origin)
def test_negative(self):
self.assertEqual(-self.v1, self.v2)
self.assertEqual(-self.v2, self.v1)
if __name__ == '__main__':
unittest.main(verbosity=3)