Author: bugman Date: Wed Dec 2 14:50:08 2009 New Revision: 10047 URL: http://svn.gna.org/viewcvs/relax?rev=10047&view=rev Log: Added 3 unit tests for the new maths_fns.rotation_matrix.reverse_euler_zyz() function. This checks the double reversion to see if the original angles come back. Modified: 1.3/test_suite/unit_tests/_maths_fns/test_rotation_matrix.py Modified: 1.3/test_suite/unit_tests/_maths_fns/test_rotation_matrix.py URL: http://svn.gna.org/viewcvs/relax/1.3/test_suite/unit_tests/_maths_fns/test_rotation_matrix.py?rev=10047&r1=10046&r2=10047&view=diff ============================================================================== --- 1.3/test_suite/unit_tests/_maths_fns/test_rotation_matrix.py (original) +++ 1.3/test_suite/unit_tests/_maths_fns/test_rotation_matrix.py Wed Dec 2 14:50:08 2009 @@ -459,6 +459,54 @@ self.assertAlmostEqual(quat[i], quat_true[i]) + def test_reverse_euler_zyz_a0_b0_g0(self): + """Test the reverse Euler angle conversion for {0, 0, 0}.""" + + # The forward angles. + euler = [0.0, 0.0, 0.0] + + # Convert twice. + a, b, g = reverse_euler_zyz(euler[0], euler[1], euler[2]) + a, b, g = reverse_euler_zyz(a, b, g) + + # Check the reversed, reverse angles. + self.assertAlmostEqual(a, euler[0]) + self.assertAlmostEqual(b, euler[1]) + self.assertAlmostEqual(g, euler[2]) + + + def test_reverse_euler_zyz_a1_b0_g0(self): + """Test the reverse Euler angle conversion for {1, 0, 0}.""" + + # The forward angles. + euler = [1.0, 0.0, 0.0] + + # Convert twice. + a, b, g = reverse_euler_zyz(euler[0], euler[1], euler[2]) + a, b, g = reverse_euler_zyz(a, b, g) + + # Check the reversed, reverse angles. + self.assertAlmostEqual(a, euler[0]) + self.assertAlmostEqual(b, euler[1]) + self.assertAlmostEqual(g, euler[2]) + + + def test_reverse_euler_zyz_a1_b0_5_g3(self): + """Test the reverse Euler angle conversion for {1, 0.5, 3}.""" + + # The forward angles. + euler = [1.0, 0.5, 3.0] + + # Convert twice. + a, b, g = reverse_euler_zyz(euler[0], euler[1], euler[2]) + a, b, g = reverse_euler_zyz(a, b, g) + + # Check the reversed, reverse angles. + self.assertAlmostEqual(a, euler[0]) + self.assertAlmostEqual(b, euler[1]) + self.assertAlmostEqual(g, euler[2]) + + def test_quaternion_to_axis_angle_no_rot(self): """Test the quaternion to rotation matrix conversion for a zero angle rotation."""