Ignore:
Timestamp:
Nov 9, 2017 6:45:20 AM (6 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:
dd150ef
Parents:
d6b8a1d
git-author:
Piotr Rozyczko <rozyczko@…> (11/08/17 07:22:45)
git-committer:
Piotr Rozyczko <rozyczko@…> (11/09/17 06:45:20)
Message:

Converted unit tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Plotting/UnitTesting/PlotterTest.py

    r7fb471d r53c771e  
    33import platform 
    44 
    5 from PyQt4 import QtGui 
    6 from PyQt4 import QtCore 
    7 from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas 
     5from PyQt5 import QtGui, QtWidgets, QtPrintSupport 
     6from PyQt5 import QtCore 
     7from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas 
    88from unittest.mock import MagicMock 
    99from unittest.mock import patch 
     
    2121import sas.qtgui.Plotting.Plotter as Plotter 
    2222 
    23 if not QtGui.QApplication.instance(): 
    24     app = QtGui.QApplication(sys.argv) 
     23if not QtWidgets.QApplication.instance(): 
     24    app = QtWidgets.QApplication(sys.argv) 
    2525 
    2626 
     
    5757        self.plotter.data = self.data 
    5858        self.plotter.show() 
    59         FigureCanvas.draw = MagicMock() 
     59        FigureCanvas.draw_idle = MagicMock() 
    6060 
    6161        self.plotter.plot(hide_error=False) 
    6262 
    6363        self.assertEqual(self.plotter.ax.get_xscale(), 'log') 
    64         self.assertTrue(FigureCanvas.draw.called) 
     64        self.assertTrue(FigureCanvas.draw_idle.called) 
     65 
     66        self.plotter.figure.clf() 
    6567 
    6668    def testPlotWithoutErrors(self): 
     
    6870        self.plotter.data = self.data 
    6971        self.plotter.show() 
    70         FigureCanvas.draw = MagicMock() 
     72        FigureCanvas.draw_idle = MagicMock() 
    7173 
    7274        self.plotter.plot(hide_error=True) 
    7375 
    7476        self.assertEqual(self.plotter.ax.get_yscale(), 'log') 
    75         self.assertTrue(FigureCanvas.draw.called) 
     77        self.assertTrue(FigureCanvas.draw_idle.called) 
     78        self.plotter.figure.clf() 
    7679 
    7780    def testPlotWithSesans(self): 
     
    110113        # Trigger Print Image and make sure the method is called 
    111114        self.assertEqual(actions[1].text(), "Print Image") 
    112         QtGui.QPrintDialog.exec_ = MagicMock(return_value=QtGui.QDialog.Rejected) 
     115        QtPrintSupport.QPrintDialog.exec_ = MagicMock(return_value=QtWidgets.QDialog.Rejected) 
    113116        actions[1].trigger() 
    114         self.assertTrue(QtGui.QPrintDialog.exec_.called) 
     117        self.assertTrue(QtPrintSupport.QPrintDialog.exec_.called) 
    115118 
    116119        # Trigger Copy to Clipboard and make sure the method is called 
     
    125128        # Trigger Change Scale and make sure the method is called 
    126129        self.assertEqual(actions[6].text(), "Change Scale") 
    127         self.plotter.properties.exec_ = MagicMock(return_value=QtGui.QDialog.Rejected) 
     130        self.plotter.properties.exec_ = MagicMock(return_value=QtWidgets.QDialog.Rejected) 
    128131        actions[6].trigger() 
    129132        self.assertTrue(self.plotter.properties.exec_.called) 
     
    135138        def done(): 
    136139            self.clipboard_called = True 
    137         QtCore.QObject.connect(QtGui.qApp.clipboard(), QtCore.SIGNAL("dataChanged()"), done) 
     140        QtCore.QObject.connect(QtWidgets.qApp.clipboard(), QtCore.SIGNAL("dataChanged()"), done) 
    138141        actions[2].trigger() 
    139         QtGui.qApp.processEvents() 
     142        QtWidgets.qApp.processEvents() 
    140143        # Make sure clipboard got updated. 
    141144        self.assertTrue(self.clipboard_called) 
     
    157160        self.assertEqual(len(self.plotter.plot_dict), 1) 
    158161        self.assertEqual(len(self.plotter.ax.collections), 1) 
     162        self.plotter.figure.clf() 
    159163 
    160164    def testAddText(self): 
     
    174178        self.plotter.addText.color = MagicMock(return_value = test_color) 
    175179        # Return OK from the dialog 
    176         self.plotter.addText.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted) 
     180        self.plotter.addText.exec_ = MagicMock(return_value = QtWidgets.QDialog.Accepted) 
    177181        # Add text to graph 
    178182        self.plotter.onAddText() 
     
    184188        self.assertEqual(self.plotter.textList[0].get_fontproperties().get_family()[0], 'Arial') 
    185189        self.assertEqual(self.plotter.textList[0].get_fontproperties().get_size(), 16) 
     190        self.plotter.figure.clf() 
    186191 
    187192    def testOnRemoveText(self): 
     
    193198        self.plotter.addText.textEdit.setText(test_text) 
    194199        # Return OK from the dialog 
    195         self.plotter.addText.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted) 
     200        self.plotter.addText.exec_ = MagicMock(return_value = QtWidgets.QDialog.Accepted) 
    196201        # Add text to graph 
    197202        self.plotter.onAddText() 
     
    209214        self.plotter.onRemoveText() 
    210215        self.assertEqual(self.plotter.textList, []) 
     216        self.plotter.figure.clf() 
    211217 
    212218    def testOnSetGraphRange(self): 
     
    216222        self.plotter.plot(self.data) 
    217223        self.plotter.show() 
    218         self.plotter.setRange.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted) 
     224        self.plotter.setRange.exec_ = MagicMock(return_value = QtWidgets.QDialog.Accepted) 
    219225        self.plotter.setRange.xrange = MagicMock(return_value = new_x) 
    220226        self.plotter.setRange.yrange = MagicMock(return_value = new_y) 
     
    225231        self.assertEqual(self.plotter.ax.get_xlim(), new_x) 
    226232        self.assertEqual(self.plotter.ax.get_ylim(), new_y) 
     233        self.plotter.figure.clf() 
    227234 
    228235    def testOnResetGraphRange(self): 
     
    236243 
    237244        # mock setRange methods 
    238         self.plotter.setRange.exec_ = MagicMock(return_value = QtGui.QDialog.Accepted) 
     245        self.plotter.setRange.exec_ = MagicMock(return_value = QtWidgets.QDialog.Accepted) 
    239246        self.plotter.setRange.xrange = MagicMock(return_value = new_x) 
    240247        self.plotter.setRange.yrange = MagicMock(return_value = new_y) 
     
    249256        self.assertNotEqual(self.plotter.ax.get_xlim(), new_x) 
    250257        self.assertNotEqual(self.plotter.ax.get_ylim(), new_y) 
     258        self.plotter.figure.clf() 
    251259 
    252260    def testOnLinearFit(self): 
     
    254262        self.plotter.plot(self.data) 
    255263        self.plotter.show() 
    256         QtGui.QDialog.exec_ = MagicMock(return_value=QtGui.QDialog.Accepted) 
     264        QtWidgets.QDialog.exec_ = MagicMock(return_value=QtWidgets.QDialog.Accepted) 
    257265 
    258266        # Just this one plot 
     
    261269 
    262270        # Check that exec_ got called 
    263         self.assertTrue(QtGui.QDialog.exec_.called) 
     271        self.assertTrue(QtWidgets.QDialog.exec_.called) 
     272        self.plotter.figure.clf() 
    264273 
    265274    def testOnRemovePlot(self): 
     
    296305        # Assure the plotter window is closed 
    297306        self.assertFalse(self.plotter.isVisible()) 
    298  
     307        self.plotter.figure.clf() 
    299308 
    300309    def testRemovePlot(self): 
     
    327336        # The hide_error flag should also remain 
    328337        self.assertTrue(self.plotter.plot_dict[2].hide_error) 
     338        self.plotter.figure.clf() 
    329339 
    330340    def testOnToggleHideError(self): 
     
    357367        # The hide_error flag should toggle 
    358368        self.assertEqual(self.plotter.plot_dict[2].hide_error, not error_status) 
     369        self.plotter.figure.clf() 
    359370 
    360371    def testOnFitDisplay(self): 
     
    373384        self.plotter.plot.assert_called_with(data=self.plotter.fit_result, 
    374385                                             hide_error=True, marker='-') 
     386        self.plotter.figure.clf() 
    375387 
    376388    def testReplacePlot(self): 
     
    410422        # The hide_error flag should be as set 
    411423        self.assertEqual(self.plotter.plot_dict[2].hide_error, error_status) 
     424        self.plotter.figure.clf() 
    412425 
    413426    def notestOnModifyPlot(self): 
     
    429442        with patch('sas.qtgui.Plotting.PlotProperties.PlotProperties') as mock: 
    430443            instance = mock.return_value 
    431             QtGui.QDialog.exec_ = MagicMock(return_value=QtGui.QDialog.Accepted) 
     444            QtWidgets.QDialog.exec_ = MagicMock(return_value=QtWidgets.QDialog.Accepted) 
    432445            instance.symbol.return_value = 7 
    433446 
    434447            self.plotter.onModifyPlot(2) 
     448        self.plotter.figure.clf() 
    435449 
    436450 
Note: See TracChangeset for help on using the changeset viewer.