Ignore:
Timestamp:
Sep 4, 2018 5:51:03 AM (6 years ago)
Author:
Torin Cooper-Bennun <torin.cooper-bennun@…>
Branches:
ESS_GUI, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc
Children:
700b03b
Parents:
ef3494b3
git-author:
Torin Cooper-Bennun <torin.cooper-bennun@…> (07/25/18 12:01:03)
git-committer:
Torin Cooper-Bennun <torin.cooper-bennun@…> (09/04/18 05:51:03)
Message:

[CHERRY-PICK FROM 4f80a834f] put sub-heading creation into FittingUtilities?; fix a couple of caused issues; fix affected tests

File:
1 edited

Legend:

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

    r6dbff18 r00b7ddf0  
    255255 
    256256        # We have 4 more rows now 
    257         self.assertEqual(self.widget._model_model.rowCount(), rowcount+4) 
     257        self.assertEqual(self.widget._model_model.rowCount(), rowcount+5) 
    258258 
    259259        # Switch models 
     
    275275        self.widget.cbStructureFactor.setCurrentIndex(last_index-1) 
    276276        # Do we have all the rows? 
    277         self.assertEqual(self.widget._model_model.rowCount(), 4) 
     277        self.assertEqual(self.widget._model_model.rowCount(), 5) 
    278278 
    279279        # Are the command buttons properly enabled? 
     
    496496        Test opening of the load file dialog for 'array' polydisp. function 
    497497        """ 
     498 
     499        # open a non-existent file 
    498500        filename = os.path.join("UnitTesting", "testdata_noexist.txt") 
     501        with self.assertRaises(OSError, msg="testdata_noexist.txt should be a non-existent file"): 
     502            os.stat(filename) 
    499503        QtWidgets.QFileDialog.getOpenFileName = MagicMock(return_value=(filename,'')) 
    500504        self.widget.show() 
     
    512516 
    513517        # good file 
     518        # TODO: this depends on the working directory being src/sas/qtgui, 
     519        # TODO: which isn't convenient if you want to run this test suite 
     520        # TODO: individually 
    514521        filename = os.path.join("UnitTesting", "testdata.txt") 
     522        try: 
     523            os.stat(filename) 
     524        except OSError: 
     525            self.assertTrue(False, "testdata.txt does not exist") 
    515526        QtWidgets.QFileDialog.getOpenFileName = MagicMock(return_value=(filename,'')) 
    516527 
     
    10121023 
    10131024         # Check the model 
    1014         self.assertEqual(self.widget._model_model.rowCount(), 6) 
     1025        self.assertEqual(self.widget._model_model.rowCount(), 7) 
    10151026        self.assertEqual(self.widget._model_model.columnCount(), 5) 
    10161027 
     
    11281139        # two rows selected 
    11291140        index1 = self.widget.lstParams.model().index(1, 0, QtCore.QModelIndex()) 
    1130         index2 = self.widget.lstParams.model().index(2, 0, QtCore.QModelIndex()) 
     1141        index2 = self.widget.lstParams.model().index(3, 0, QtCore.QModelIndex()) 
    11311142        selection_model = self.widget.lstParams.selectionModel() 
    11321143        selection_model.select(index1, selection_model.Select | selection_model.Rows) 
     
    11641175        # several random parameters 
    11651176        self.assertEqual(self.widget.getRowFromName('scale'), 0) 
    1166         self.assertEqual(self.widget.getRowFromName('length'), 5) 
     1177        self.assertEqual(self.widget.getRowFromName('length'), 6) 
    11671178 
    11681179    def testGetParamNames(self): 
     
    12011212        # Create a constraint object 
    12021213        const = Constraint(parent=None, value=7.0) 
    1203         row = 2 
     1214        row = 3 
    12041215 
    12051216        spy = QtSignalSpy(self.widget, self.widget.constraintAddedSignal) 
     
    12201231        # assign complex constraint now 
    12211232        const = Constraint(parent=None, param='radius', func='5*sld') 
    1222         row = 4 
     1233        row = 5 
    12231234        # call the method tested 
    12241235        self.widget.addConstraintToRow(constraint=const, row=row) 
     
    12791290        self.widget.cbModel.setCurrentIndex(model_index) 
    12801291 
     1292        row1 = 1 
     1293        row2 = 5 
     1294 
     1295        param1 = "background" 
     1296        param2 = "radius" 
     1297 
     1298        #default_value1 = "0.001" 
     1299        default_value2 = "20" 
     1300 
    12811301        # select two rows 
    1282         row1 = 1 
    1283         row2 = 4 
    12841302        index1 = self.widget.lstParams.model().index(row1, 0, QtCore.QModelIndex()) 
    12851303        index2 = self.widget.lstParams.model().index(row2, 0, QtCore.QModelIndex()) 
     
    12981316 
    12991317        # delete one of the constraints 
    1300         self.widget.deleteConstraintOnParameter(param='background') 
     1318        self.widget.deleteConstraintOnParameter(param=param1) 
    13011319 
    13021320        # see that the other constraint is still present 
    1303         cons = self.widget.getConstraintForRow(4) # 4 = radius 
    1304         self.assertEqual(cons.param, "radius") 
    1305         self.assertEqual(cons.value, "20") 
     1321        cons = self.widget.getConstraintForRow(row2) 
     1322        self.assertEqual(cons.param, param2) 
     1323        self.assertEqual(cons.value, default_value2) 
    13061324 
    13071325        # kill the other constraint 
     
    13091327 
    13101328        # see that the other constraint is still present 
    1311         self.assertEqual(self.widget.getConstraintsForModel(), [('radius', None)]) 
     1329        self.assertEqual(self.widget.getConstraintsForModel(), [(param2, None)]) 
    13121330 
    13131331    def testGetConstraintForRow(self): 
     
    13291347        self.widget.cbModel.setCurrentIndex(model_index) 
    13301348 
     1349        row1 = 1 
     1350        row2 = 5 
     1351 
    13311352        # select two rows 
    1332         row1 = 1 
    1333         row2 = 4 
    13341353        index1 = self.widget.lstParams.model().index(row1, 0, QtCore.QModelIndex()) 
    13351354        index2 = self.widget.lstParams.model().index(row2, 0, QtCore.QModelIndex()) 
     
    13411360        self.widget.addSimpleConstraint() 
    13421361 
    1343         con_list = [False, True, False, False, True, False] 
     1362        con_list = [False, True, False, False, False, True, False] 
    13441363        new_list = [] 
    13451364        for row in range(self.widget._model_model.rowCount()): 
     
    13591378        self.widget.cbModel.setCurrentIndex(model_index) 
    13601379 
     1380        row1 = 1 
     1381        row2 = 5 
     1382 
    13611383        # select two rows 
    1362         row1 = 1 
    1363         row2 = 4 
    13641384        index1 = self.widget.lstParams.model().index(row1, 0, QtCore.QModelIndex()) 
    13651385        index2 = self.widget.lstParams.model().index(row2, 0, QtCore.QModelIndex()) 
     
    13751395        constraint_objects[0].active = False 
    13761396 
    1377         con_list = [False, False, False, False, True, False] 
     1397        con_list = [False, False, False, False, False, True, False] 
    13781398        new_list = [] 
    13791399        for row in range(self.widget._model_model.rowCount()): 
     
    13961416        self.assertEqual(self.widget.getConstraintsForModel(),[]) 
    13971417 
     1418        row1 = 1 
     1419        row2 = 5 
     1420 
     1421        param1 = "background" 
     1422        param2 = "radius" 
     1423 
     1424        default_value1 = "0.001" 
     1425        default_value2 = "20" 
     1426 
    13981427        # select two rows 
    1399         row1 = 1 
    1400         row2 = 4 
    14011428        index1 = self.widget.lstParams.model().index(row1, 0, QtCore.QModelIndex()) 
    14021429        index2 = self.widget.lstParams.model().index(row2, 0, QtCore.QModelIndex()) 
     
    14101437        # simple constraints 
    14111438        # self.assertEqual(self.widget.getConstraintsForModel(), [('background', '0.001'), ('radius', '20')]) 
    1412         cons = self.widget.getConstraintForRow(1) # 1 - background 
    1413         self.assertEqual(cons.param, "background") 
    1414         self.assertEqual(cons.value, "0.001") 
    1415         cons = self.widget.getConstraintForRow(4) # 4 = radius 
    1416         self.assertEqual(cons.param, "radius") 
    1417         self.assertEqual(cons.value, "20") 
     1439        cons = self.widget.getConstraintForRow(row1) 
     1440        self.assertEqual(cons.param, param1) 
     1441        self.assertEqual(cons.value, default_value1) 
     1442        cons = self.widget.getConstraintForRow(row2) 
     1443        self.assertEqual(cons.param, param2) 
     1444        self.assertEqual(cons.value, default_value2) 
    14181445 
    14191446        objects = self.widget.getConstraintObjectsForModel() 
    14201447        self.assertEqual(len(objects), 2) 
    1421         self.assertEqual(objects[1].value, '20') 
    1422         self.assertEqual(objects[0].param, 'background') 
     1448        self.assertEqual(objects[1].value, default_value2) 
     1449        self.assertEqual(objects[0].param, param1) 
     1450 
     1451        row = 0 
     1452        param = "scale" 
     1453        func = "5*sld" 
    14231454 
    14241455        # add complex constraint 
    1425         const = Constraint(parent=None, param='scale', func='5*sld') 
    1426         row = 0 
     1456        const = Constraint(parent=None, param=param, func=func) 
    14271457        self.widget.addConstraintToRow(constraint=const, row=row) 
    14281458        #self.assertEqual(self.widget.getConstraintsForModel(),[('scale', '5*sld'), ('background', '0.001'), ('radius', None)]) 
    1429         cons = self.widget.getConstraintForRow(4) # 4 = radius 
    1430         self.assertEqual(cons.param, "radius") 
    1431         self.assertEqual(cons.value, "20") 
     1459        cons = self.widget.getConstraintForRow(row2) 
     1460        self.assertEqual(cons.param, param2) 
     1461        self.assertEqual(cons.value, default_value2) 
    14321462 
    14331463        objects = self.widget.getConstraintObjectsForModel() 
    14341464        self.assertEqual(len(objects), 3) 
    1435         self.assertEqual(objects[0].func, '5*sld') 
     1465        self.assertEqual(objects[0].func, func) 
    14361466 
    14371467    def testReplaceConstraintName(self): 
Note: See TracChangeset for help on using the changeset viewer.