Author: bugman Date: Wed Dec 2 14:52:56 2009 New Revision: 10048 URL: http://svn.gna.org/viewcvs/relax?rev=10048&view=rev Log: Added 6 more unit tests for the new maths_fns.rotation_matrix.reverse_euler_zyz() function. This gives better coverage of the problematic areas. 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=10048&r1=10047&r2=10048&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:52:56 2009 @@ -491,6 +491,102 @@ self.assertAlmostEqual(g, euler[2]) + def test_reverse_euler_zyz_a0_b1_g0(self): + """Test the reverse Euler angle conversion for {0, 1, 0}.""" + + # The forward angles. + euler = [0.0, 1.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_a0_b0_g1(self): + """Test the reverse Euler angle conversion for {0, 0, 1}.""" + + # The forward angles. + euler = [0.0, 0.0, 1.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_b1_g0(self): + """Test the reverse Euler angle conversion for {1, 1, 0}.""" + + # The forward angles. + euler = [1.0, 1.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_a0_b1_g1(self): + """Test the reverse Euler angle conversion for {0, 1, 1}.""" + + # The forward angles. + euler = [0.0, 1.0, 1.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_g1(self): + """Test the reverse Euler angle conversion for {1, 0, 1}.""" + + # The forward angles. + euler = [1.0, 0.0, 1.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_b1_g1(self): + """Test the reverse Euler angle conversion for {1, 1, 1}.""" + + # The forward angles. + euler = [1.0, 1.0, 1.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}."""