def test_conjugate(self): a, b, c, d = randomElements() q1 = Quaternion(a, b, c, d) q2 = Quaternion.random() self.assertEqual(q1.conjugate(), Quaternion(a, -b, -c, -d)) self.assertEqual((q1 * q2).conjugate(), q2.conjugate() * q1.conjugate()) self.assertEqual((q1 + q1.conjugate()) / 2, Quaternion(scalar=q1.scalar())) self.assertEqual((q1 - q1.conjugate()) / 2, Quaternion(vector=q1.vector()))