3
import unittest, math, sys
4
import minieigen as mne
6
class SimpleTests(unittest.TestCase):
7
def testVector2i(self):
8
a2i = mne.Vector2i(2,1)
9
b2i = mne.Vector2i(3,5)
12
self.failUnlessEqual(c2i[0],5)
13
self.failUnlessEqual(c2i[1],6)
17
self.failUnlessEqual(c2i[0],10)
18
self.failUnlessEqual(c2i[1],12)
20
def testVector3(self):
21
a3r = mne.Vector3(2.1,1.1,4.3)
22
b3r = mne.Vector3(3.1,5.1,5.2)
25
self.failUnlessAlmostEqual(c3r[0],5.2)
26
self.failUnlessAlmostEqual(c3r[1],6.2)
27
self.failUnlessAlmostEqual(c3r[2],9.5)
31
self.failUnlessAlmostEqual(c3r[0],15.6)
32
self.failUnlessAlmostEqual(c3r[1],18.6)
33
self.failUnlessAlmostEqual(c3r[2],28.5)
35
def testMatrix3Test(self):
36
a3m=mne.Matrix3(1,2,3,
40
self.failUnlessEqual(b3m[0][0],1)
41
self.failUnlessEqual(b3m[0][1],4)
42
self.failUnlessEqual(b3m[0][2],7)
43
self.failUnlessEqual(b3m[1][0],2)
44
self.failUnlessEqual(b3m[1][1],5)
45
self.failUnlessEqual(b3m[1][2],8)
46
self.failUnlessEqual(b3m[2][0],3)
47
self.failUnlessEqual(b3m[2][1],6)
48
self.failUnlessEqual(b3m[2][2],9)
51
self.failUnlessEqual(c3m[0],1)
52
self.failUnlessEqual(c3m[1],5)
53
self.failUnlessEqual(c3m[2],9)
55
self.failUnlessEqual(a3m.maxAbsCoeff(),9)
58
def testQuaternion(self):
59
q1 = mne.Quaternion.Identity
60
self.failUnlessEqual(q1[3],1)
63
self.failUnlessEqual(q2[3],1)
65
q3=mne.Quaternion(mne.Vector3(1,0,0),math.pi/2.0)
66
m3q=q3.toRotationMatrix()
67
self.failUnlessEqual(m3q[0][0],1)
68
self.failUnlessEqual(m3q[1][2],-1)
70
q4 = mne.Quaternion.Identity
71
q4.setFromTwoVectors(mne.Vector3(1,2,3),mne.Vector3(2,3,4))
72
self.failUnlessEqual(q4.norm(),1)
74
if __name__ == '__main__':
75
unittest.main(testRunner=unittest.TextTestRunner(stream=sys.stdout, verbosity=2))