Changeset 2add354 in sasview for src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py
- Timestamp:
- May 9, 2017 1:38:40 AM (7 years ago)
- 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
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/qtgui/Perspectives/Fitting/UnitTesting/FittingWidgetTest.py
r02ddfb4 r2add354 18 18 19 19 from sas.sasgui.guiframe.dataFitting import Data1D 20 from sas.sasgui.guiframe.dataFitting import Data2D 20 21 21 22 app = QtGui.QApplication(sys.argv) … … 50 51 self.assertFalse(self.widget.data_is_loaded) 51 52 52 def testSelectCategory (self):53 def testSelectCategoryDefault(self): 53 54 """ 54 55 Test if model categories have been loaded properly … … 79 80 # self.assertTrue(widget_with_data.cmdFit.isEnabled()) 80 81 self.assertFalse(widget_with_data.acceptsData()) 81 82 def testSelectModel(self):83 """84 Test if models have been loaded properly85 """86 fittingWindow = self.widget87 88 #Test loading from json categories89 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 combobox105 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 119 82 120 83 def testSelectPolydispersity(self): … … 154 117 pass 155 118 156 def 119 def testSelectCategory(self): 157 120 """ 158 121 Assure proper behaviour on changing category … … 498 461 self.assertEqual(spy.count(), 1) 499 462 500 def testOnFit (self):463 def testOnFit1D(self): 501 464 """ 502 465 Test the threaded fitting call … … 540 503 self.assertEqual(update_spy.count(), 1) 541 504 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 542 552 543 553 if __name__ == "__main__":
Note: See TracChangeset
for help on using the changeset viewer.