Author: tlinnet Date: Tue Aug 12 10:55:04 2014 New Revision: 24996 URL: http://svn.gna.org/viewcvs/relax?rev=24996&view=rev Log: Added unit test, to test the expected sorting of models for auto analyses. sr #3135(https://gna.org/support/?3135): Optimisation of the R1 relaxation rate for the off-resonance R1rho relaxation dispersion models. Modified: branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py Modified: branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py URL: http://svn.gna.org/viewcvs/relax/branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py?rev=24996&r1=24995&r2=24996&view=diff ============================================================================== --- branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py (original) +++ branches/R1_fitting/test_suite/unit_tests/_specific_analyses/_relax_disp/test_variables.py Tue Aug 12 10:55:04 2014 @@ -20,7 +20,7 @@ ############################################################################### # relax module imports. -from specific_analyses.relax_disp.variables import nesting_model +from specific_analyses.relax_disp.variables import nesting_model, sort_models from specific_analyses.relax_disp.variables import MODEL_B14, MODEL_B14_FULL, MODEL_CR72, MODEL_CR72_FULL, MODEL_DPL94_FIT_R1, MODEL_IT99, MODEL_MMQ_CR72, MODEL_LM63, MODEL_LM63_3SITE, MODEL_MP05_FIT_R1, MODEL_NOREX, MODEL_NOREX_R1RHO_FIT_R1, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL, MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_3SITE_LINEAR, MODEL_NS_R1RHO_2SITE, MODEL_NS_R1RHO_2SITE_FIT_R1, MODEL_NS_R1RHO_3SITE, MODEL_NS_R1RHO_3SITE_LINEAR, MODEL_R2EFF, MODEL_TAP03_FIT_R1, MODEL_TP02_FIT_R1, MODEL_TSMFK01 from specific_analyses.relax_disp.variables import MODEL_EXP_TYPE, MODEL_EQ, MODEL_PARAMS, MODEL_SITES, MODEL_YEAR from test_suite.unit_tests.base_classes import UnitTestCase @@ -294,3 +294,40 @@ # Test the return. self.assertEqual(nesting_model(self_models=self_models, model=model)[1].model, MODEL_DPL94_FIT_R1) + + + def test_sort_models(self): + """Unit test of function sort_models, which determine how to sort models for auto analyses.""" + + ## Test sort of models, when models are all R1rho models with fitted R1. + # Define all the models tested in the analysis. + self_models = [MODEL_R2EFF, MODEL_NOREX_R1RHO_FIT_R1, MODEL_DPL94_FIT_R1, MODEL_TP02_FIT_R1, MODEL_TAP03_FIT_R1, MODEL_MP05_FIT_R1, MODEL_NS_R1RHO_2SITE_FIT_R1] + expected_result = [MODEL_R2EFF, MODEL_NOREX_R1RHO_FIT_R1, MODEL_MP05_FIT_R1, MODEL_TAP03_FIT_R1, MODEL_TP02_FIT_R1, MODEL_DPL94_FIT_R1, MODEL_NS_R1RHO_2SITE_FIT_R1] + + # Test the return. + self.assertEqual(sort_models(models=self_models), expected_result) + + ## Test sort of models, when models are all CPMG models. + # Define all the models tested in the analysis. + self_models = [MODEL_R2EFF, MODEL_NOREX, MODEL_CR72, MODEL_CR72_FULL, MODEL_IT99, MODEL_TSMFK01, MODEL_B14, MODEL_B14_FULL, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_STAR_FULL] + expected_result = [MODEL_R2EFF, MODEL_NOREX, MODEL_NS_CPMG_2SITE_EXPANDED, MODEL_B14, MODEL_B14_FULL, MODEL_TSMFK01, MODEL_IT99, MODEL_CR72, MODEL_CR72_FULL, MODEL_NS_CPMG_2SITE_3D, MODEL_NS_CPMG_2SITE_STAR, MODEL_NS_CPMG_2SITE_3D_FULL, MODEL_NS_CPMG_2SITE_STAR_FULL] + + # Test the return. + self.assertEqual(sort_models(models=self_models), expected_result) + + ## Test sort of models, when models are all CPMG MMQ models. + # Define all the models tested in the analysis. + self_models = [MODEL_R2EFF, MODEL_NOREX, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_2SITE, MODEL_MMQ_CR72, MODEL_NS_MMQ_3SITE_LINEAR] + expected_result = [MODEL_R2EFF, MODEL_NOREX, MODEL_MMQ_CR72, MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE_LINEAR, MODEL_NS_MMQ_3SITE] + + # Test the return. + self.assertEqual(sort_models(models=self_models), expected_result) + + ## Test sort of models, when models are mix of CPMG and CPMG MMQ models. + # Define all the models tested in the analysis. + self_models = [MODEL_R2EFF, MODEL_NOREX, MODEL_NS_MMQ_3SITE, MODEL_NS_MMQ_2SITE, MODEL_MMQ_CR72, MODEL_CR72, MODEL_B14, MODEL_NS_MMQ_3SITE_LINEAR] + expected_result = [MODEL_R2EFF, MODEL_NOREX, MODEL_B14, MODEL_CR72, MODEL_MMQ_CR72, MODEL_NS_MMQ_2SITE, MODEL_NS_MMQ_3SITE_LINEAR, MODEL_NS_MMQ_3SITE] + + ## Test the return. + self.assertEqual(sort_models(models=self_models), expected_result) +