Changeset e540cd2 in sasview for src/sas/qtgui/UnitTesting


Ignore:
Timestamp:
Jul 7, 2016 4:54:18 AM (8 years ago)
Author:
Piotr Rozyczko <piotr.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:
0cd8612
Parents:
f0f309d
Message:

Status bar, progress bar, initial treeview context menu + minor cleanup

Location:
src/sas/qtgui/UnitTesting
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/UnitTesting/AboutBoxTest.py

    rf82ab8c re540cd2  
    7676                LocalConfig._ill_url, 
    7777                LocalConfig._inst_url] 
    78          
     78 
    7979        # Press the buttons 
    8080        buttonList = self.widget.findChildren(QPushButton) 
  • src/sas/qtgui/UnitTesting/DataExplorerTest.py

    r481ff26 re540cd2  
    9292        self.assertIsInstance(self.form.freezeView, QTreeView) 
    9393 
    94          
     94    def testWidgets(self): 
     95        """ 
     96        Test if all required widgets got added 
     97        """         
    9598    def testLoadButton(self): 
    9699        loadButton = self.form.cmdLoad 
     
    111114 
    112115        # Make sure the signal has not been emitted 
    113         #self.assertEqual(spy_file_read.count(), 0) 
     116        self.assertEqual(spy_file_read.count(), 0) 
    114117 
    115118        # Now, return a single file 
    116119        QtGui.QFileDialog.getOpenFileNames = MagicMock(return_value=filename) 
    117          
     120 
    118121        # Click on the Load button 
    119122        QTest.mouseClick(loadButton, Qt.LeftButton) 
     123        QtGui.qApp.processEvents() 
    120124 
    121125        # Test the getOpenFileName() dialog called once 
     
    127131        #self.assertIn(filename, str(spy_file_read.called()[0]['args'][0])) 
    128132 
     133    def testLoadFiles(self): 
     134        """ 
     135        Test progress bar update while loading of multiple files 
     136        """ 
     137        # Set up the spy on progress bar update signal 
     138        spy_progress_bar_update = QtSignalSpy(self.form, 
     139            self.form.communicator.progressBarUpdateSignal) 
     140 
     141        # Populate the model 
     142        filename = ["cyl_400_20.txt", "Dec07031.ASC", "cyl_400_20.txt"] 
     143        self.form.readData(filename) 
     144 
     145        # 0, 0, 33, 66, -1 -> 5 signals reaching progressBar 
     146        self.assertEqual(spy_progress_bar_update.count(), 5) 
     147 
     148        expected_list = [0, 0, 33, 66, -1] 
     149        spied_list = [spy_progress_bar_update.called()[i]['args'][0] for i in xrange(5)] 
     150        self.assertEqual(expected_list, spied_list) 
     151         
    129152    def testDeleteButton(self): 
    130153        """ 
     
    441464        default_list = defaults.split(';;') 
    442465 
    443         for format in default_list: 
    444             self.assertIn(format, w_list) 
     466        for def_format in default_list: 
     467            self.assertIn(def_format, w_list) 
    445468        
    446469    def testLoadComplete(self): 
  • src/sas/qtgui/UnitTesting/DroppableDataLoadWidgetTest.py

    r481ff26 re540cd2  
    44from PyQt4.QtGui import QApplication 
    55from PyQt4.QtTest import QTest 
    6 from PyQt4.QtCore import Qt 
     6from PyQt4 import QtCore 
    77from DroppableDataLoadWidget import DroppableDataLoadWidget 
    88from GuiUtils import * 
     9from UnitTesting.TestUtils import QtSignalSpy 
    910 
    1011app = QApplication(sys.argv) 
     
    2122 
    2223        self.form = DroppableDataLoadWidget(None, guimanager=dummy_manager()) 
    23         # create dummy mime objects 
     24 
     25        # create dummy mime object 
     26        self.mime_data = QtCore.QMimeData() 
     27        self.testfile = 'testfile.txt' 
     28        self.mime_data.setUrls([QtCore.QUrl(self.testfile)]) 
    2429 
    2530    def testDragIsOK(self): 
     
    2732        Test the item being dragged over the load widget 
    2833        """ 
    29         pass 
     34        good_drag_event = QtGui.QDragMoveEvent(QtCore.QPoint(0,0), 
     35                                               QtCore.Qt.CopyAction, 
     36                                               self.mime_data, 
     37                                               QtCore.Qt.LeftButton, 
     38                                               QtCore.Qt.NoModifier) 
     39        mime_data = QtCore.QMimeData() 
     40        bad_drag_event = QtGui.QDragMoveEvent(QtCore.QPoint(0,0), 
     41                                               QtCore.Qt.CopyAction, 
     42                                               mime_data, 
     43                                               QtCore.Qt.LeftButton, 
     44                                               QtCore.Qt.NoModifier) 
     45 
     46        # Call the drag handler with good event 
     47        self.assertTrue(self.form.dragIsOK(good_drag_event)) 
     48 
     49        # Call the drag handler with bad event 
     50        self.assertFalse(self.form.dragIsOK(bad_drag_event)) 
    3051 
    3152    def testDropEvent(self): 
     
    3354        Test what happens if an object is dropped onto the load widget 
    3455        """ 
    35         pass 
     56        spy_file_read = QtSignalSpy(self.form, self.form.communicator.fileReadSignal) 
     57 
     58        drop_event = QtGui.QDropEvent(QtCore.QPoint(0,0), 
     59                                           QtCore.Qt.CopyAction, 
     60                                           self.mime_data, 
     61                                           QtCore.Qt.LeftButton, 
     62                                           QtCore.Qt.NoModifier) 
     63 
     64        self.form.dropEvent(drop_event) 
     65        QtGui.qApp.processEvents() 
     66        self.assertEqual(spy_file_read.count(), 1) 
     67        self.assertIn(self.testfile, str(spy_file_read.signal(index=0))) 
     68 
    3669 
    3770if __name__ == "__main__": 
  • src/sas/qtgui/UnitTesting/GuiManagerTest.py

    r481ff26 re540cd2  
    1212 
    1313# Local 
     14from DataExplorer import DataExplorerWindow 
     15from UI.AcknowledgementsUI import Acknowledgements 
     16from AboutBox import AboutBox 
     17from WelcomePanel import WelcomePanel 
     18 
    1419from GuiManager import GuiManager 
    1520from UI.MainWindowUI import MainWindow 
     
    3843 
    3944    def testDefaults(self): 
    40         '''Test the object in its default state''' 
    41         pass 
    42          
     45        """ 
     46        Test the object in its default state 
     47        """ 
     48        self.assertIsInstance(self.manager.filesWidget, DataExplorerWindow) 
     49        self.assertIsInstance(self.manager.dockedFilesWidget, QDockWidget) 
     50        self.assertEqual(self.manager.dockedFilesWidget.features(), QDockWidget.NoDockWidgetFeatures) 
     51        self.assertEqual(self.manager._workspace.dockWidgetArea(self.manager.dockedFilesWidget), Qt.LeftDockWidgetArea) 
     52        self.assertIsInstance(self.manager.ackWidget, Acknowledgements) 
     53        self.assertIsInstance(self.manager.aboutWidget, AboutBox) 
     54        self.assertIsInstance(self.manager.welcomePanel, WelcomePanel) 
     55 
    4356    def testUpdatePerspective(self): 
    4457        """ 
     
    7689        # See that the MessageBox method got called 
    7790        self.assertTrue(QMessageBox.question.called) 
    78         # sys.exit() not called this time 
    79         self.assertFalse(sys.exit.called) 
    8091 
    8192        # Say Yes to the close dialog 
     
    139150        webbrowser.open.assert_called_with("https://github.com/SasView/sasview/releases") 
    140151 
    141         ## 4. version > LocalConfig.__version__ and standalone 
    142         #version_info = {u'version' : u'999.0.0'} 
    143         #spy_status_update = QtSignalSpy(self.manager, self.manager.communicate.statusBarUpdateSignal) 
    144         #webbrowser.open = MagicMock() 
    145  
    146         #self.manager.processVersion(version_info, standalone=True) 
    147  
    148         #self.assertEqual(spy_status_update.count(), 1) 
    149         #message = 'See the help menu to download it' 
    150         #self.assertIn(message, str(spy_status_update.signal(index=0))) 
    151  
    152         #self.assertFalse(webbrowser.open.called) 
    153  
    154         # 5. couldn't load version 
     152        # 4. couldn't load version 
    155153        version_info = {} 
    156154        logging.error = MagicMock() 
     
    173171        pass 
    174172 
     173    #### FILE #### 
    175174    def testActionLoadData(self): 
    176175        """ 
     
    185184        # Test the getOpenFileName() dialog called once 
    186185        self.assertTrue(QFileDialog.getOpenFileNames.called) 
    187          
     186 
     187    def testActionLoadDataFolder(self): 
     188        """ 
     189        Menu File/Load Data Folder 
     190        """ 
     191        # Mock the system file open method 
     192        QFileDialog.getExistingDirectory = MagicMock(return_value=None) 
     193 
     194        # invoke the action 
     195        self.manager.actionLoad_Data_Folder() 
     196 
     197        # Test the getOpenFileName() dialog called once 
     198        self.assertTrue(QFileDialog.getExistingDirectory.called) 
     199 
     200    #### VIEW #### 
     201    def testActionHideToolbar(self): 
     202        """ 
     203        Menu View/Hide Toolbar 
     204        """ 
     205        # Need to display the main window to initialize the toolbar. 
     206        self.manager._workspace.show() 
     207 
     208        # Check the initial state 
     209        self.assertTrue(self.manager._workspace.toolBar.isVisible()) 
     210        self.assertEqual('Hide Toolbar', self.manager._workspace.actionHide_Toolbar.text()) 
     211 
     212        # Invoke action 
     213        self.manager.actionHide_Toolbar() 
     214 
     215        # Assure changes propagated correctly 
     216        self.assertFalse(self.manager._workspace.toolBar.isVisible()) 
     217        self.assertEqual('Show Toolbar', self.manager._workspace.actionHide_Toolbar.text()) 
     218 
     219        # Revert 
     220        self.manager.actionHide_Toolbar() 
     221 
     222        # Assure the original values are back 
     223        self.assertTrue(self.manager._workspace.toolBar.isVisible()) 
     224        self.assertEqual('Hide Toolbar', self.manager._workspace.actionHide_Toolbar.text()) 
     225 
     226 
     227    #### HELP #### 
    188228    def testActionDocumentation(self): 
    189229        """ 
  • src/sas/qtgui/UnitTesting/GuiUtilsTest.py

    rf82ab8c re540cd2  
    22import unittest 
    33import webbrowser 
    4 import urlparse 
    54 
    65from PyQt4 import QtCore 
     
    5958            'updatePerspectiveWithDataSignal', 
    6059            'updateModelFromPerspectiveSignal', 
    61             'plotRequestedSignal' 
     60            'plotRequestedSignal', 
     61            'progressBarUpdateSignal', 
    6262        ] 
    6363 
     
    188188        with self.assertRaises(AttributeError): 
    189189            openLink(bad_url3) 
    190         pass 
    191190 
    192191if __name__ == "__main__": 
Note: See TracChangeset for help on using the changeset viewer.