Author: bugman Date: Wed Jan 28 11:30:24 2009 New Revision: 8690 URL: http://svn.gna.org/viewcvs/relax?rev=8690&view=rev Log: Wrote a second unit test for the creation of a pseudo-spin. Modified: branches/ave_noe/test_suite/unit_tests/spin_testing_base.py Modified: branches/ave_noe/test_suite/unit_tests/spin_testing_base.py URL: http://svn.gna.org/viewcvs/relax/branches/ave_noe/test_suite/unit_tests/spin_testing_base.py?rev=8690&r1=8689&r2=8690&view=diff ============================================================================== --- branches/ave_noe/test_suite/unit_tests/spin_testing_base.py (original) +++ branches/ave_noe/test_suite/unit_tests/spin_testing_base.py Wed Jan 28 11:30:24 2009 @@ -303,6 +303,53 @@ self.assertEqual(dp.mol[0].res[0].spin[8].averaging, 'linear') + def test_create_pseudo_spin2(self): + """Test the creation of a pseudo-atom (test 2). + + The function tested is both generic_fns.mol_res_spin.create_pseudo_spin() and + prompt.spin.create_pseudo(). + """ + + # Create a few new protons. + self.spin_fns.create(100, 'H93', res_id='#Old mol:1') + self.spin_fns.create(101, 'H94', res_id='#Old mol:1') + + # Get the data pipe. + dp = pipes.get_pipe('orig') + + # Set some atomic positions. + dp.mol[0].res[0].spin[5].pos = [array([2.0, 0.0, 0.0]), array([-2.0, 0.0, 0.0])] + dp.mol[0].res[0].spin[6].pos = [array([0.0, 2.0, 0.0]), array([0.0, -2.0, 0.0])] + + # Create a pseudo-spin. + self.spin_fns.create_pseudo('Q10', spin_num=105, members=['@H93', '@H94'], averaging='linear') + + # Test that the spin numbers are correct. + self.assertEqual(dp.mol[0].res[0].spin[5].num, 100) + self.assertEqual(dp.mol[0].res[0].spin[6].num, 101) + self.assertEqual(dp.mol[0].res[0].spin[7].num, 105) + + # Test that the spin names are correct. + self.assertEqual(dp.mol[0].res[0].spin[5].name, 'H93') + self.assertEqual(dp.mol[0].res[0].spin[6].name, 'H94') + self.assertEqual(dp.mol[0].res[0].spin[7].name, 'Q10') + + # Test the averaged position. + self.assertEqual(len(dp.mol[0].res[0].spin[7].pos), 2) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[0][0], 1.0) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[0][1], 1.0) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[0][2], 0.0) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[1][0], -1.0) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[1][1], -1.0) + self.assertEqual(dp.mol[0].res[0].spin[7].pos[1][2], 0.0) + + # Test the pseudo-spin info. + self.assertEqual(dp.mol[0].res[0].spin[5].pseudo_atom, 'Q10') + self.assertEqual(dp.mol[0].res[0].spin[6].pseudo_atom, 'Q10') + self.assertEqual(dp.mol[0].res[0].spin[7].members, ['@H93', '@H94']) + self.assertEqual(dp.mol[0].res[0].spin[7].averaging, 'linear') + + def test_create_spin(self): """Test the creation of a spin.