Ignore:
Timestamp:
May 9, 2017 1:38:40 AM (7 years ago)
Author:
Piotr Rozyczko <rozyczko@…>
Branches:
ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
f7f5796
Parents:
31e4bb8
Message:

Code review fixes for SASVIEW-273

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py

    r02ddfb4 r2add354  
    1818 
    1919from sas.sasgui.guiframe.dataFitting import Data1D 
     20from sas.sasgui.guiframe.dataFitting import Data2D 
    2021 
    2122app = QtGui.QApplication(sys.argv) 
     
    5051        self.assertFalse(self.widget.data_is_loaded) 
    5152 
    52     def testSelectCategory(self): 
     53    def testSelectCategoryDefault(self): 
    5354        """ 
    5455        Test if model categories have been loaded properly 
     
    7980        # self.assertTrue(widget_with_data.cmdFit.isEnabled()) 
    8081        self.assertFalse(widget_with_data.acceptsData()) 
    81  
    82     def testSelectModel(self): 
    83         """ 
    84         Test if models have been loaded properly 
    85         """ 
    86         fittingWindow =  self.widget 
    87  
    88         #Test loading from json categories 
    89         model_list = fittingWindow.master_category_dict["Cylinder"] 
    90         self.assertTrue(['cylinder', True] in model_list) 
    91         self.assertTrue(['core_shell_cylinder', True] in model_list) 
    92         self.assertTrue(['barbell', True] in model_list) 
    93         self.assertTrue(['core_shell_bicelle', True] in model_list) 
    94         self.assertTrue(['flexible_cylinder', True] in model_list) 
    95         self.assertTrue(['flexible_cylinder_elliptical', True] in model_list) 
    96         self.assertTrue(['pearl_necklace', True] in model_list) 
    97         self.assertTrue(['capped_cylinder', True] in model_list) 
    98         self.assertTrue(['elliptical_cylinder', True] in model_list) 
    99         self.assertTrue(['pringle', True] in model_list) 
    100         self.assertTrue(['hollow_cylinder', True] in model_list) 
    101         self.assertTrue(['core_shell_bicelle_elliptical', True] in model_list) 
    102         self.assertTrue(['stacked_disks', True] in model_list) 
    103  
    104         #Test for existence in combobox 
    105         self.assertNotEqual(fittingWindow.cbModel.findText("cylinder"),-1) 
    106         self.assertNotEqual(fittingWindow.cbModel.findText("core_shell_cylinder"),-1) 
    107         self.assertNotEqual(fittingWindow.cbModel.findText("barbell"),-1) 
    108         self.assertNotEqual(fittingWindow.cbModel.findText("core_shell_bicelle"),-1) 
    109         self.assertNotEqual(fittingWindow.cbModel.findText("flexible_cylinder"),-1) 
    110         self.assertNotEqual(fittingWindow.cbModel.findText("flexible_cylinder_elliptical"),-1) 
    111         self.assertNotEqual(fittingWindow.cbModel.findText("pearl_necklace"),-1) 
    112         self.assertNotEqual(fittingWindow.cbModel.findText("capped_cylinder"),-1) 
    113         self.assertNotEqual(fittingWindow.cbModel.findText("elliptical_cylinder"),-1) 
    114         self.assertNotEqual(fittingWindow.cbModel.findText("pringle"),-1) 
    115         self.assertNotEqual(fittingWindow.cbModel.findText("hollow_cylinder"),-1) 
    116         self.assertNotEqual(fittingWindow.cbModel.findText("core_shell_bicelle_elliptical"),-1) 
    117         self.assertNotEqual(fittingWindow.cbModel.findText("stacked_disks"),-1) 
    118  
    11982 
    12083    def testSelectPolydispersity(self): 
     
    154117        pass 
    155118 
    156     def  testSelectCategory(self): 
     119    def testSelectCategory(self): 
    157120        """ 
    158121        Assure proper behaviour on changing category 
     
    498461        self.assertEqual(spy.count(), 1) 
    499462 
    500     def testOnFit(self): 
     463    def testOnFit1D(self): 
    501464        """ 
    502465        Test the threaded fitting call 
     
    540503            self.assertEqual(update_spy.count(), 1) 
    541504 
     505    def testOnFit2D(self): 
     506        """ 
     507        Test the threaded fitting call 
     508        """ 
     509        # Set data 
     510        test_data = Data2D(image=[1.0, 2.0, 3.0], 
     511                           err_image=[0.01, 0.02, 0.03], 
     512                           qx_data=[0.1, 0.2, 0.3], 
     513                           qy_data=[0.1, 0.2, 0.3], 
     514                           xmin=0.1, xmax=0.3, ymin=0.1, ymax=0.3, 
     515                           mask=[True, True, True]) 
     516 
     517        # Force same data into logic 
     518        self.widget.logic.data = test_data 
     519        self.widget.data_is_loaded = True 
     520        category_index = self.widget.cbCategory.findText("Sphere") 
     521        self.widget.cbCategory.setCurrentIndex(category_index) 
     522 
     523        self.widget.show() 
     524 
     525        # Test no fitting params 
     526        self.widget.parameters_to_fit = [] 
     527 
     528        with self.assertRaises(ValueError) as error: 
     529            self.widget.onFit() 
     530        self.assertEqual(str(error.exception), 'no fitting parameters') 
     531 
     532        # Assing fitting params 
     533        self.widget.parameters_to_fit = ['scale'] 
     534 
     535        # Spying on status update signal 
     536        update_spy = QtSignalSpy(self.widget, self.widget.communicate.statusBarUpdateSignal) 
     537 
     538        with threads.deferToThread as MagicMock: 
     539            self.widget.onFit() 
     540            # thread called 
     541            self.assertTrue(threads.deferToThread.called) 
     542            # thread method is 'compute' 
     543            self.assertEqual(threads.deferToThread.call_args_list[0][0][0].__name__, 'compute') 
     544 
     545            # the fit button changed caption and got disabled 
     546            self.assertEqual(self.widget.cmdFit.text(), 'Calculating...') 
     547            self.assertFalse(self.widget.cmdFit.isEnabled()) 
     548 
     549            # Signal pushed up 
     550            self.assertEqual(update_spy.count(), 1) 
     551 
    542552 
    543553if __name__ == "__main__": 
Note: See TracChangeset for help on using the changeset viewer.