Author: bugman Date: Tue Nov 20 12:03:03 2007 New Revision: 3652 URL: http://svn.gna.org/viewcvs/relax?rev=3652&view=rev Log: Created, by copying, the base class for the generic_fns and prompt residue module unit tests. Added: 1.3/test_suite/unit_tests/residue_testing_base.py - copied, changed from r3650, 1.3/test_suite/unit_tests/generic_fns/test_residue.py Copied: 1.3/test_suite/unit_tests/residue_testing_base.py (from r3650, 1.3/test_suite/unit_tests/generic_fns/test_residue.py) URL: http://svn.gna.org/viewcvs/relax/1.3/test_suite/unit_tests/residue_testing_base.py?p2=1.3/test_suite/unit_tests/residue_testing_base.py&p1=1.3/test_suite/unit_tests/generic_fns/test_residue.py&r1=3650&r2=3652&rev=3652&view=diff ============================================================================== --- 1.3/test_suite/unit_tests/generic_fns/test_residue.py (original) +++ 1.3/test_suite/unit_tests/residue_testing_base.py Tue Nov 20 12:03:03 2007 @@ -20,18 +20,17 @@ # # ############################################################################### -# Python module imports. -from unittest import TestCase - # relax module imports. from data import Data as relax_data_store -from data.pipe_container import PipeContainer -from generic_fns import residue from relax_errors import RelaxError, RelaxNoPipeError, RelaxSpinSelectDisallowError -class Test_residue(TestCase): - """Unit tests for the functions of the 'generic_fns.residue' module.""" +class Residue_base_class: + """Base class for the tests of both the 'prompt.residue' and 'generic_fns.residue' modules. + + This base class also contains many shared unit tests. + """ + def setUp(self): """Set up for all the residue unit tests.""" @@ -59,7 +58,7 @@ """Function for setting up some data for the unit tests.""" # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + self.residue_fns.create(1, 'Ala') relax_data_store['orig'].mol[0].res[0].spin[0].num = 111 relax_data_store['orig'].mol[0].res[0].spin[0].x = 1 relax_data_store['orig'].mol[0].name = 'Old mol' @@ -68,8 +67,8 @@ relax_data_store['orig'].mol.add_item('New mol') # Copy the residue to the new molecule. - residue.copy(res_from=':1', res_to='#New mol') - residue.copy(res_from='#Old mol:1', res_to='#New mol:5') + self.residue_fns.copy(res_from=':1', res_to='#New mol') + self.residue_fns.copy(res_from='#Old mol:1', res_to='#New mol:5') # Change the first residue's data. relax_data_store['orig'].mol[0].res[0].spin[0].num = 222 @@ -79,7 +78,7 @@ def test_copy_between_molecules(self): """Test the copying of the residue data between different molecules. - The function used is generic_fns.residue.copy(). + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). """ # Set up some data. @@ -109,17 +108,17 @@ def test_copy_between_pipes(self): """Test the copying of the residue data between different data pipes. - The function used is generic_fns.residue.copy(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(1, 'Ala') relax_data_store['orig'].mol[0].res[0].spin[0].num = 111 relax_data_store['orig'].mol[0].res[0].spin[0].x = 1 # Copy the residue to the second data pipe. - residue.copy(res_from=':1', pipe_to='test') - residue.copy(pipe_from='orig', res_from=':1', pipe_to='test', res_to=':5') + self.residue_fns.copy(res_from=':1', pipe_to='test') + self.residue_fns.copy(pipe_from='orig', res_from=':1', pipe_to='test', res_to=':5') # Change the first residue's data. relax_data_store['orig'].mol[0].res[0].spin[0].num = 222 @@ -147,39 +146,39 @@ def test_copy_between_pipes_fail_no_pipe(self): """Test the copying of the residue data between different data pipes. - The function used is generic_fns.residue.copy(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(1, 'Ala') relax_data_store['orig'].mol[0].res[0].spin[0].num = 111 relax_data_store['orig'].mol[0].res[0].spin[0].x = 1 # Copy the residue to the second data pipe. - self.assertRaises(RelaxNoPipeError, residue.copy, res_from=':1', pipe_to='test2') + self.assertRaises(RelaxNoPipeError, self.residue_fns.copy, res_from=':1', pipe_to='test2') def test_copy_within_molecule(self): """Test the copying of the residue data within a single molecule. - The function used is generic_fns.residue.copy(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(1, 'Ala') relax_data_store['orig'].mol[0].res[0].spin[0].num = 111 relax_data_store['orig'].mol[0].res[0].spin[0].x = 1 # Copy the residue a few times. - residue.copy(res_from=':1', res_to=':2') - residue.copy(res_from=':1', pipe_to='orig', res_to=':3') + self.residue_fns.copy(res_from=':1', res_to=':2') + self.residue_fns.copy(res_from=':1', pipe_to='orig', res_to=':3') # Change the first residue's data. relax_data_store['orig'].mol[0].res[0].spin[0].num = 222 relax_data_store['orig'].mol[0].res[0].spin[0].x = 2 # Copy the residue once more. - residue.copy(res_from=':1', res_to=':4,Met') + self.residue_fns.copy(res_from=':1', res_to=':4,Met') # Test the original residue. self.assertEqual(relax_data_store['orig'].mol[0].res[0].num, 1) @@ -209,41 +208,41 @@ def test_copy_within_molecule_fail1(self): """The failure of copying residue data within a molecule of a non-existent residue. - The function used is generic_fns.residue.copy(). + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). """ # Create a few residues. - residue.create(1, 'Ala') - residue.create(-1, 'His') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(-1, 'His') # Copy a non-existent residue (1 Met). - self.assertRaises(RelaxError, residue.copy, res_from=':Met', res_to=':2,Gly') + self.assertRaises(RelaxError, self.residue_fns.copy, res_from=':Met', res_to=':2,Gly') def test_copy_within_molecule_fail2(self): """The failure of copying residue data within a molecule to a residue which already exists. - The function used is generic_fns.residue.copy(). + The function tested is both generic_fns.residue.copy() and prompt.residue.copy(). """ # Create a few residues. - residue.create(1, 'Ala') - residue.create(-1, 'His') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(-1, 'His') # Copy a residue to a number which already exists. - self.assertRaises(RelaxError, residue.copy, res_from=':1', res_to=':-1,Gly') + self.assertRaises(RelaxError, self.residue_fns.copy, res_from=':1', res_to=':-1,Gly') def test_creation(self): """Test the creation of a residue. - The function used is generic_fns.residue.create(). + The function tested is both generic_fns.residue.create() and prompt.residue.create(). """ # Create a few new residues. - residue.create(1, 'Ala') - residue.create(2, 'Leu') - residue.create(-3, 'Ser') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(2, 'Leu') + self.residue_fns.create(-3, 'Ser') # Test that the residue numbers are correct. self.assertEqual(relax_data_store['orig'].mol[0].res[0].num, 1) @@ -259,27 +258,27 @@ def test_creation_fail(self): """Test the failure of residue creation (by supplying two residues with the same number). - The function used is generic_fns.residue.create(). + The function tested is both generic_fns.residue.create() and prompt.residue.create(). """ # Create the first residue. - residue.create(1, 'Ala') + self.residue_fns.create(1, 'Ala') # Assert that a RelaxError occurs when the next added residue has the same sequence number as the first. - self.assertRaises(RelaxError, residue.create, 1, 'Ala') + self.assertRaises(RelaxError, self.residue_fns.create, 1, 'Ala') def test_delete_name(self): """Test residue deletion using residue name identifiers. - The function used is generic_fns.residue.delete(). + The function tested is both generic_fns.residue.delete() and prompt.residue.delete(). """ # Create some residues and add some data to the spin containers. - residue.create(1, 'Ala') - residue.create(2, 'Ala') - residue.create(3, 'Ala') - residue.create(4, 'Gly') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(2, 'Ala') + self.residue_fns.create(3, 'Ala') + self.residue_fns.create(4, 'Gly') relax_data_store['orig'].mol[0].res[3].spin[0].num = 111 relax_data_store['orig'].mol[0].res[3].spin[0].x = 1 @@ -296,14 +295,14 @@ def test_delete_num(self): """Test residue deletion using residue number identifiers. - The function used is generic_fns.residue.delete(). + The function tested is both generic_fns.residue.delete() and prompt.residue.delete(). """ # Create some residues and add some data to the spin containers. - residue.create(1, 'Ala') - residue.create(2, 'Ala') - residue.create(3, 'Ala') - residue.create(4, 'Gly') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(2, 'Ala') + self.residue_fns.create(3, 'Ala') + self.residue_fns.create(4, 'Gly') relax_data_store['orig'].mol[0].res[3].spin[0].num = 111 relax_data_store['orig'].mol[0].res[3].spin[0].x = 1 @@ -324,14 +323,14 @@ def test_delete_all(self): """Test the deletion of all residues. - The function used is generic_fns.residue.delete(). + The function tested is both generic_fns.residue.delete() and prompt.residue.delete(). """ # Create some residues and add some data to the spin containers. - residue.create(1, 'Ala') - residue.create(2, 'Ala') - residue.create(3, 'Ala') - residue.create(4, 'Ala') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(2, 'Ala') + self.residue_fns.create(3, 'Ala') + self.residue_fns.create(4, 'Ala') relax_data_store['orig'].mol[0].res[3].spin[0].num = 111 relax_data_store['orig'].mol[0].res[3].spin[0].x = 1 @@ -346,14 +345,14 @@ def test_delete_shift(self): """Test the deletion of multiple residues. - The function used is generic_fns.residue.delete(). + The function tested is both generic_fns.residue.delete() and prompt.residue.delete(). """ # Create some residues and add some data to the spin containers. - residue.create(1, 'Ala') - residue.create(2, 'Ala') - residue.create(3, 'Ala') - residue.create(4, 'Ala') + self.residue_fns.create(1, 'Ala') + self.residue_fns.create(2, 'Ala') + self.residue_fns.create(3, 'Ala') + self.residue_fns.create(4, 'Ala') relax_data_store['orig'].mol[0].res[3].spin[0].num = 111 relax_data_store['orig'].mol[0].res[3].spin[0].x = 1 @@ -370,7 +369,7 @@ def test_delete_fail(self): """Test the failure of residue deletion when an atom id is supplied. - The function used is generic_fns.residue.delete(). + The function tested is both generic_fns.residue.delete() and prompt.residue.delete(). """ # Supply an atom id. @@ -380,7 +379,7 @@ def test_display(self): """Test the display of residue information. - The function used is generic_fns.residue.display(). + The function tested is both generic_fns.residue.display() and prompt.residue.display(). """ # Set up some data. @@ -396,7 +395,7 @@ def test_display_fail(self): """Test the failure of the display of residue information. - The function used is generic_fns.residue.display(). + The function tested is both generic_fns.residue.display() and prompt.residue.display(). """ # Set up some data. @@ -409,11 +408,11 @@ def test_rename(self): """Test the renaming of a residue. - The function tested is generic_fns.residue.rename(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(-10, 'His') + The function tested is both generic_fns.residue.rename() and prompt.residue.rename(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(-10, 'His') # Rename the residue. residue.rename(res_id=':-10', new_name='K') @@ -425,22 +424,22 @@ def test_rename_many(self): """Test the renaming of multiple residues. - The function used is generic_fns.residue.rename(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + The function tested is both generic_fns.residue.rename() and prompt.residue.rename(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(1, 'Ala') relax_data_store['orig'].mol[0].res[0].spin[0].num = 111 # Copy the residue a few times. - residue.copy(res_from=':1', res_to=':2') - residue.copy(res_from=':1', res_to=':3') + self.residue_fns.copy(res_from=':1', res_to=':2') + self.residue_fns.copy(res_from=':1', res_to=':3') # Change the first residue's data. relax_data_store['orig'].mol[0].res[0].name = 'His' # Copy the residue once more. - residue.copy(res_from=':1', res_to=':4,Met') + self.residue_fns.copy(res_from=':1', res_to=':4,Met') # Rename all alanines. residue.rename(res_id=':Ala', new_name='Gln') @@ -457,7 +456,7 @@ def test_rename_no_spin(self): """Test the failure of renaming a residue when a spin id is given. - The function tested is generic_fns.residue.rename(). + The function tested is both generic_fns.residue.rename() and prompt.residue.rename(). """ # Try renaming using a atom id. @@ -467,11 +466,11 @@ def test_renumber(self): """Test the renumbering of a residue. - The function tested is generic_fns.residue.renumber(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(-10, 'His') + The function tested is both generic_fns.residue.renumber() and prompt.residue.renumber(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(-10, 'His') # Rename the residue. residue.renumber(res_id=':-10', new_number=10) @@ -483,21 +482,21 @@ def test_renumber_many_fail(self): """Test the renaming of multiple residues. - The function used is generic_fns.residue.renumber(). - """ - - # Create the first residue and add some data to its spin container. - residue.create(1, 'Ala') + The function tested is both generic_fns.residue.renumber() and prompt.residue.renumber(). + """ + + # Create the first residue and add some data to its spin container. + self.residue_fns.create(1, 'Ala') # Copy the residue a few times. - residue.copy(res_from=':1', res_to=':2') - residue.copy(res_from=':1', res_to=':3') + self.residue_fns.copy(res_from=':1', res_to=':2') + self.residue_fns.copy(res_from=':1', res_to=':3') # Change the first residue's data. relax_data_store['orig'].mol[0].res[0].spin[0].name = 'His' # Copy the residue once more. - residue.copy(res_from=':1', res_to=':4,Met') + self.residue_fns.copy(res_from=':1', res_to=':4,Met') # Try renumbering all alanines. self.assertRaises(RelaxError, residue.renumber, res_id=':Ala', new_number=10) @@ -506,7 +505,7 @@ def test_renumber_no_spin(self): """Test the failure of renaming a residue when a spin id is given. - The function tested is generic_fns.residue.renumber(). + The function tested is both generic_fns.residue.renumber() and prompt.residue.renumber(). """ # Try renaming using a atom id.