def testUniform(self):
        exp_q = ["Quaternion: -0.5105 + -0.7011i + 0.0180j + 0.4976k",
                 "Quaternion: 0.1267 + -0.5028i + -0.7474j + -0.4153k",
                 "Quaternion: 0.1504 + 0.0998i + -0.3025j + 0.9359k",
                 "Quaternion: 0.6418 + -0.5843i + 0.2151j + -0.4476k",
                 "Quaternion: 0.9726 + -0.0334i + 0.2176j + -0.0742k",
                 "Quaternion: 0.0096 + 0.0015i + -0.0778j + 0.9969k",
                 "Quaternion: -0.4398 + 0.5669i + -0.2332j + -0.6564k",
                 "Quaternion: 0.2429 + 0.2133i + -0.3556j + 0.8769k",
                 "Quaternion: -0.0521 + -0.3024i + -0.8972j + 0.3175k"]
                 
        exp_angle = [-2.0702,
                     2.8876,
                     2.8396,
                     1.7478,
                     0.4689,
                     3.1225,
                     -2.2309,
                     2.6510,
                     -3.0374]

        exp_axis = ["Axis3: -0.8153, 0.0209, 0.5787",
                    "Axis3: -0.5069, -0.7535, -0.4187",
                    "Axis3: 0.1009, -0.3059, 0.9467",
                    "Axis3: -0.7619, 0.2806, -0.5837",
                    "Axis3: -0.1437, 0.9367, -0.3193",
                    "Axis3: 0.0015, -0.0778, 0.9970",
                    "Axis3: 0.6312, -0.2597, -0.7309",
                    "Axis3: 0.2199, -0.3666, 0.9040",
                    "Axis3: -0.3028, -0.8985, 0.3179"]

        rng = LFSR(lfsr = 1070, bit_len = 16)
        q = Quaternion()
        for i in xrange(9):
            q.uniform(rng)
            angle, axis = q.get_angle_axis()
            self.assertEquals(str(q), exp_q[i])
            self.assertLessEqual(angle - exp_angle[i], 0.0001)
            self.assertGreaterEqual(angle - exp_angle[i], -0.0001)
            self.assertEquals(str(axis), exp_axis[i])
 def testQuaternionToAngleAxis(self):
     q = Quaternion(a = 0.707, b = -0.240, c = -0.665, d = 0.000)
     angle, axis = q.get_angle_axis()
     self.assertLessEqual(angle - 1.5710983268, 0.0000000001)
     self.assertGreaterEqual(angle - 1.5710983268, -0.0000000001)
     self.assertEquals(str(axis), "Axis3: -0.3395, -0.9406, 0.0000")