Author: bugman Date: Tue Oct 11 10:53:51 2011 New Revision: 14820 URL: http://svn.gna.org/viewcvs/relax?rev=14820&view=rev Log: Created the test_cam_kkalpha_plot1() system test for checking the grace plotting of mixed data. Added: 1.3/test_suite/system_tests/grace.py - copied, changed from r14818, 1.3/test_suite/system_tests/state.py Modified: 1.3/test_suite/system_tests/__init__.py Modified: 1.3/test_suite/system_tests/__init__.py URL: http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/__init__.py?rev=14820&r1=14819&r2=14820&view=diff ============================================================================== --- 1.3/test_suite/system_tests/__init__.py (original) +++ 1.3/test_suite/system_tests/__init__.py Tue Oct 11 10:53:51 2011 @@ -37,6 +37,7 @@ from diffusion_tensor import Diffusion_tensor from frame_order import Frame_order from generic import Generic +from grace import Grace from jw_mapping import Jw from load_spins import Load_spins from model_elimination import Modelim @@ -67,6 +68,7 @@ 'diffusion_tensor', 'frame_order', 'generic', + 'grace', 'jw_mapping', 'load_spins', 'model_elimination', @@ -134,6 +136,7 @@ suite_array.append(TestLoader().loadTestsFromTestCase(Diffusion_tensor)) suite_array.append(TestLoader().loadTestsFromTestCase(Frame_order)) suite_array.append(TestLoader().loadTestsFromTestCase(Generic)) + suite_array.append(TestLoader().loadTestsFromTestCase(Grace)) suite_array.append(TestLoader().loadTestsFromTestCase(Jw)) suite_array.append(TestLoader().loadTestsFromTestCase(Load_spins)) suite_array.append(TestLoader().loadTestsFromTestCase(Modelim)) Copied: 1.3/test_suite/system_tests/grace.py (from r14818, 1.3/test_suite/system_tests/state.py) URL: http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/grace.py?p2=1.3/test_suite/system_tests/grace.py&p1=1.3/test_suite/system_tests/state.py&r1=14818&r2=14820&rev=14820&view=diff ============================================================================== --- 1.3/test_suite/system_tests/state.py (original) +++ 1.3/test_suite/system_tests/grace.py Tue Oct 11 10:53:51 2011 @@ -21,96 +21,91 @@ ############################################################################### # Python module imports. -import sys +from os import sep +from re import search +from string import split from tempfile import mktemp # relax module imports. from base_classes import SystemTestCase -from data import Relax_data_store; ds = Relax_data_store() -from generic_fns.pipes import VALID_TYPES, get_pipe -from generic_fns.reset import reset +from status import Status; status = Status() -class State(SystemTestCase): - """Class for testing the state saving and loading user functions.""" +class Grace(SystemTestCase): + """Class for testing the creation of grace plots.""" def setUp(self): """Common set up for these system tests.""" - # Create a temporary file name. + # Create a temporary grace file name. self.tmpfile = mktemp() - def test_state_pickle(self): - """Test the saving, loading, and second saving and loading of the program state in pickled format.""" - - # Create a data pipe. - self.interpreter.pipe.create('test', 'mf') - - # Save the state. - self.interpreter.state.save(self.tmpfile, pickle=True, force=True) + def test_cam_kkalpha_plot1(self): + """Test the plotting of the 15N data from the CaM-KKalpha save state.""" # Load the state. - self.interpreter.state.load(self.tmpfile, force=True) + self.interpreter.state.load('state_cam_kkalpha', dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'saved_states') - # Save the state. - self.interpreter.state.save(self.tmpfile, dir=None, pickle=True, force=True) + # Create the plot. + self.interpreter.grace.write('spin', 's2', file=self.tmpfile, spin_id='@N', dir=None) - # Load the state. - self.interpreter.state.load(self.tmpfile, force=True) + # Read the file data. + file = open(self.tmpfile) + lines = file.readlines() + file.close() + # Init the data. + spin = [] + value = [] + error = [] - def test_state_xml(self): - """Test the saving, loading, and second saving and loading of the program state in XML format.""" + # Check the data. + in_data = False + for i in range(len(lines)): + # Start of the first plot. + if search('G0.S0', lines[i]): + in_data=True + continue - # Create a data pipe. - self.interpreter.pipe.create('test', 'mf') + # No in the data range. + if not in_data: + continue - # Save the state. - self.interpreter.state.save(self.tmpfile, pickle=False, force=True) + # Skip the first @ line. + if search('^@', lines[i]): + continue - # Load the state. - self.interpreter.state.load(self.tmpfile, force=True) + # The end. + if search('^&', lines[i]): + break - # Save the state. - self.interpreter.state.save(self.tmpfile, pickle=False, force=True) + # Split up the data. + row = split(lines[i]) - # Load the state. - self.interpreter.state.load(self.tmpfile, force=True) + # Store the data. + spin.append(row[0]) + value.append(row[1]) + error.append(row[2]) + # The real data. + real_data = [ + [2, 0.693, 0.005], + [3, 0.400, 0.000], + [4, 0.882, 0.008], + [5, 0.901, 0.001], + [6, 0.953, 0.014], + [7, 0.905, 0.000], + [8, 0.939, 0.007], + [9, 0.948, 0.003], + [10, 0.957, 0.004] + ] - def test_write_read_pipes(self): - """Test the writing out, and re-reading of data pipes from the state file.""" + # Check the data length. + self.assertEqual(len(real_data), len(spin)) - # Create a data pipe. - self.interpreter.pipe.create('test', 'relax_fit') - - # Reset relax. - reset() - - # The data pipe list. - pipe_types = VALID_TYPES - pipe_types.pop(pipe_types.index("frame order")) - - # Create a few data pipes. - for i in range(len(pipe_types)): - self.interpreter.pipe.create('test' + repr(i), pipe_types[i]) - - # Write the results. - self.interpreter.state.save(self.tmpfile) - - # Reset relax. - reset() - - # Re-read the results. - self.interpreter.state.load(self.tmpfile) - - # Test the pipes. - for i in range(len(pipe_types)): - # Name. - name = 'test' + repr(i) - self.assert_(name in ds) - - # Type. - pipe = get_pipe(name) - self.assertEqual(pipe.pipe_type, pipe_types[i]) + # Check the data. + for i in range(len(real_data)): + self.assertEqual(real_data[i][0], spin[i]) + self.assertEqual(real_data[i][1], value[i]) + self.assertEqual(real_data[i][2], error[i])