Author: bugman Date: Wed Feb 20 12:11:58 2013 New Revision: 18522 URL: http://svn.gna.org/viewcvs/relax?rev=18522&view=rev Log: Created unit tests for the generic_fns.structure.pdb_write module. This currently covers the atom(), helix() and sheet() functions (the last 2 are not yet implemented). Added: trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_write.py - copied, changed from r18519, trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_read.py Modified: trunk/test_suite/unit_tests/_generic_fns/_structure/__init__.py Modified: trunk/test_suite/unit_tests/_generic_fns/_structure/__init__.py URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_generic_fns/_structure/__init__.py?rev=18522&r1=18521&r2=18522&view=diff ============================================================================== --- trunk/test_suite/unit_tests/_generic_fns/_structure/__init__.py (original) +++ trunk/test_suite/unit_tests/_generic_fns/_structure/__init__.py Wed Feb 20 12:11:58 2013 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2008 Edward d'Auvergne # +# Copyright (C) 2008-2013 Edward d'Auvergne # # # # This file is part of the program relax (http://www.nmr-relax.com). # # # @@ -20,7 +20,11 @@ ############################################################################### -__all__ = ['test_api_base', - 'test__init__', - 'test_internal', - 'test_scientific'] +__all__ = [ + 'test_api_base', + 'test__init__', + 'test_internal', + 'test_pdb_read', + 'test_pdb_write', + 'test_scientific' +] Copied: trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_write.py (from r18519, trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_read.py) URL: http://svn.gna.org/viewcvs/relax/trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_write.py?p2=trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_write.py&p1=trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_read.py&r1=18519&r2=18522&rev=18522&view=diff ============================================================================== --- trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_read.py (original) +++ trunk/test_suite/unit_tests/_generic_fns/_structure/test_pdb_write.py Wed Feb 20 12:11:58 2013 @@ -20,87 +20,60 @@ ############################################################################### # relax module imports. -from generic_fns.structure import pdb_read +from generic_fns.structure import pdb_write +from relax_io import DummyFileObject from test_suite.unit_tests.base_classes import UnitTestCase -class Test_pdb_read(UnitTestCase): - """Unit tests for the functions of the 'generic_fns.structure.pdb_read' module.""" +class Test_pdb_write(UnitTestCase): + """Unit tests for the functions of the 'generic_fns.structure.pdb_write' module.""" def test_atom(self): - """Test the pdb_read.atom() function.""" + """Test the pdb_write.atom() function.""" - # Parse a PDB record. - record = pdb_read.atom('ATOM 158 CG GLU 11 9.590 -1.041 -11.596 1.00 0.00 C') + # A dummy file to write to. + file = DummyFileObject() - # Test the elements. - self.assertEqual(record[0], 'ATOM') - self.assertEqual(record[1], 158) - self.assertEqual(record[2], 'CG') - self.assertEqual(record[3], None) - self.assertEqual(record[4], 'GLU') - self.assertEqual(record[5], None) - self.assertEqual(record[6], 11) - self.assertEqual(record[7], None) - self.assertEqual(record[8], 9.59) - self.assertEqual(record[9], -1.041) - self.assertEqual(record[10], -11.596) - self.assertEqual(record[11], 1.0) - self.assertEqual(record[12], 0.0) - self.assertEqual(record[13], 'C') - self.assertEqual(record[14], None) + # Create the PDB record. + pdb_write.atom(file, serial=158, name='CG', res_name='GLU', res_seq='11', x=9.59, y=-1.041, z=-11.596, occupancy=1.0, temp_factor=0.0, element='C') + + # Test the record. + records = file.readlines() + actual = 'ATOM 158 CG GLU 11 9.590 -1.041 -11.596 1.00 0.00 C \n' + print(repr(records[0])) + print(repr(actual)) + self.assertEqual(records[0], actual) def test_helix(self): - """Test the pdb_read.helix() function.""" + """Test the pdb_write.helix() function.""" - # Parse a PDB record (from the 1UBQ PDB file). - record = pdb_read.helix('HELIX 1 H1 ILE A 23 GLU A 34 1 12 ') + # A dummy file to write to. + file = DummyFileObject() - # Test the elements. - self.assertEqual(record[0], 'HELIX') - self.assertEqual(record[1], 1) - self.assertEqual(record[2], 'H1') - self.assertEqual(record[3], 'ILE') - self.assertEqual(record[4], 'A') - self.assertEqual(record[5], 23) - self.assertEqual(record[6], None) - self.assertEqual(record[7], 'GLU') - self.assertEqual(record[8], 'A') - self.assertEqual(record[9], 34) - self.assertEqual(record[10], None) - self.assertEqual(record[11], 1) - self.assertEqual(record[12], None) - self.assertEqual(record[13], 12) + # Create the PDB record. + pdb_write.helix(file, ser_num=1, helix_id='H1', init_res_name='ILE', init_chain_id='A', init_seq_id=23, init_icode=None, end_res_name='GLU', end_chain_id='A', end_seq_num=34, end_icode=None, helix_class=1, comment=None, length=12) + + # Test the record. + records = file.readlines() + actual = 'HELIX 1 H1 ILE A 23 GLU A 34 1 12 \n' + print(repr(records[0])) + print(repr(actual)) + self.assertEqual(records[0], actual) def test_sheet(self): - """Test the pdb_read.sheet() function.""" + """Test the pdb_write.sheet() function.""" - # Parse a PDB record (from the 1UBQ PDB file). - record = pdb_read.sheet('SHEET 1 BET 5 GLY A 10 VAL A 17 0 ') + # A dummy file to write to. + file = DummyFileObject() - # Test the elements. - self.assertEqual(record[0], 'SHEET') - self.assertEqual(record[1], 1) - self.assertEqual(record[2], 'BET') - self.assertEqual(record[3], 5) - self.assertEqual(record[4], 'GLY') - self.assertEqual(record[5], 'A') - self.assertEqual(record[6], 10) - self.assertEqual(record[7], None) - self.assertEqual(record[8], 'VAL') - self.assertEqual(record[9], 'A') - self.assertEqual(record[10], 17) - self.assertEqual(record[11], None) - self.assertEqual(record[12], 0) - self.assertEqual(record[13], None) - self.assertEqual(record[14], None) - self.assertEqual(record[15], None) - self.assertEqual(record[16], None) - self.assertEqual(record[17], None) - self.assertEqual(record[18], None) - self.assertEqual(record[19], None) - self.assertEqual(record[20], None) - self.assertEqual(record[21], None) - self.assertEqual(record[22], None) + # Create the PDB record. + pdb_write.sheet(file, strand=1, sheet_id='BET', num_strands=5, init_res_name='GLY', init_chain_id='A', init_seq_num=10, init_icode=None, end_res_name='VAL', end_chain_id='A', end_seq_num=17, end_icode=None, sense=0, cur_atom=None, cur_res_name=None, cur_chain_id=None, cur_res_seq=None, cur_icode=None, prev_atom=None, prev_res_name=None, prev_chain_id=None, prev_res_seq=None, prev_icode=None) + + # Test the record. + records = file.readlines() + actual = 'SHEET 1 BET 5 GLY A 10 VAL A 17 0 \n' + print(repr(records[0])) + print(repr(actual)) + self.assertEqual(records[0], actual)