def test_search_box_selection_set_text(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     widget.search_box.lineEdit().setText('Load')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, -1)
 def test_tree_selection_single_version(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'Load v.1')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, 1)
     self.assertEqual(widget.search_box.lineEdit().text(), 'Load')
 def test_search_box_selection_ignores_tree_selection(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     self._select_in_search_box(widget, 'Load')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, -1)
 def test_search_box_selection_set_text(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     widget.search_box.lineEdit().setText('Load')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, -1)
 def test_search_box_selection_ignores_tree_selection(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     self._select_in_search_box(widget, 'Load')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, -1)
 def test_tree_selection_single_version(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'Load v.1')
     selected_algorithm = widget.get_selected_algorithm()
     self.assertEqual(selected_algorithm.name, 'Load')
     self.assertEqual(selected_algorithm.version, 1)
     self.assertEqual(widget.search_box.lineEdit().text(), 'Load')
    def test_tree_selection_two_versions(self):
        widget = AlgorithmSelectorWidget()
        self._select_in_tree(widget, 'DoStuff v.1')
        selected_algorithm = widget.get_selected_algorithm()
        self.assertEqual(selected_algorithm.name, 'DoStuff')
        self.assertEqual(selected_algorithm.version, 1)

        self._select_in_tree(widget, 'DoStuff v.2')
        selected_algorithm = widget.get_selected_algorithm()
        self.assertEqual(selected_algorithm.name, 'DoStuff')
        self.assertEqual(selected_algorithm.version, 2)
    def test_refresh(self):
        # Set a mock to return an empty descriptor list
        getDescriptors_orig = AlgorithmFactoryImpl.getDescriptors
        AlgorithmFactoryImpl.getDescriptors = empty_mock_get_algorithm_descriptors

        widget = AlgorithmSelectorWidget()
        self.assertEqual(0, widget.tree.topLevelItemCount())
        # put back the original
        AlgorithmFactoryImpl.getDescriptors = getDescriptors_orig
        widget.refresh()
        self.assertEqual(4, widget.tree.topLevelItemCount())
    def test_refresh(self):
        # Set a mock to return an empty descriptor list
        getDescriptors_orig = AlgorithmFactoryImpl.getDescriptors
        AlgorithmFactoryImpl.getDescriptors = empty_mock_get_algorithm_descriptors

        widget = AlgorithmSelectorWidget()
        self.assertEqual(0, widget.tree.topLevelItemCount())
        # put back the original
        AlgorithmFactoryImpl.getDescriptors = getDescriptors_orig
        widget.refresh()
        self.assertEqual(4, widget.tree.topLevelItemCount())
    def test_tree_selection_two_versions(self):
        widget = AlgorithmSelectorWidget()
        self._select_in_tree(widget, 'DoStuff v.1')
        selected_algorithm = widget.get_selected_algorithm()
        self.assertEqual(selected_algorithm.name, 'DoStuff')
        self.assertEqual(selected_algorithm.version, 1)

        self._select_in_tree(widget, 'DoStuff v.2')
        selected_algorithm = widget.get_selected_algorithm()
        self.assertEqual(selected_algorithm.name, 'DoStuff')
        self.assertEqual(selected_algorithm.version, 2)
    def test_sorting_of_algorithms(self):
        widget = AlgorithmSelectorWidget()
        model = AlgorithmSelectorModel(None)
        top_level = []

        widget._add_tree_items(top_level, model.get_algorithm_data()[1])

        self.assertEquals(top_level[0].text(0), "Data")
        self.assertEquals(top_level[1].text(0), "Sorted")
        self.assertEquals(top_level[2].text(0), "Stuff")
        self.assertEquals(top_level[3].text(0), "Transform")

        second_level = top_level[1].takeChildren()
        self.assertEquals(second_level[0].text(0), "ComesFirst v.1")
        self.assertEquals(second_level[1].text(0), "GoesSecond v.1")
    def test_sorting_of_algorithms(self):
        widget = AlgorithmSelectorWidget()
        model = AlgorithmSelectorModel(None)
        top_level = []

        widget._add_tree_items(top_level, model.get_algorithm_data()[1])

        self.assertEqual(top_level[0].text(0), "Data")
        self.assertEqual(top_level[1].text(0), "Sorted")
        self.assertEqual(top_level[2].text(0), "Stuff")
        self.assertEqual(top_level[3].text(0), "Transform")

        second_level = top_level[1].takeChildren()
        self.assertEqual(second_level[0].text(0), "ComesFirst v.1")
        self.assertEqual(second_level[1].text(0), "GoesSecond v.1")
Beispiel #13
0
 def test_search_box_selection_filter_mode_on_qt5(self):
     if not qtpy.PYQT5:
         self.skipTest("Versions below Qt5 do not support the following functionality, "
                       "and the default Qt behaviour is used")
     else:
         widget = AlgorithmSelectorWidget()
         self.assertEqual(widget.search_box.completer().filterMode(), Qt.MatchContains)
Beispiel #14
0
 def test_run_dialog_opens_on_return_press(self):
     with patch(createDialogFromName_func_name) as createDialog:
         widget = AlgorithmSelectorWidget()
         self._select_in_tree(widget, 'DoStuff v.2')
         QTest.keyClick(widget.search_box, Qt.Key_Return)
         createDialog.assert_called_once_with('DoStuff', 2, None, False, {},
                                              '', [])
Beispiel #15
0
 def test_run_dialog_opens_on_execute_button_click(self):
     with patch(createDialogFromName_func_name) as createDialog:
         widget = AlgorithmSelectorWidget()
         self._select_in_tree(widget, 'DoStuff v.2')
         widget.execute_button.click()
         createDialog.assert_called_once_with('DoStuff', 2, None, False, {},
                                              '', [])
 def test_execute_on_click(self):
     with patch(
             'mantidqt.interfacemanager.InterfaceManager.createDialogFromName'
     ) as createDialog:
         widget = AlgorithmSelectorWidget()
         self._select_in_tree(widget, 'DoStuff v.2')
         widget.execute_button.click()
         createDialog.assert_called_once_with('DoStuff', 2)
 def test_execute_on_return_press(self):
     with patch(
             'mantidqt.interfacemanager.InterfaceManager.createDialogFromName'
     ) as createDialog:
         widget = AlgorithmSelectorWidget()
         self._select_in_tree(widget, 'DoStuff v.2')
         QTest.keyClick(widget.search_box, Qt.Key_Return)
         createDialog.assert_called_once_with('DoStuff', 2)
Beispiel #18
0
 def test_run_dialog_opens_on_double_click(self):
     with patch(createDialogFromName_func_name) as createDialog:
         widget = AlgorithmSelectorWidget()
         self._select_in_tree(widget, 'Load v.1')
         selected_item = widget.tree.selectedItems()[0]
         item_pos = widget.tree.visualItemRect(selected_item).center()
         QTest.mouseDClick(widget.tree.viewport(), Qt.LeftButton,
                           Qt.NoModifier, pos=item_pos)
         createDialog.assert_called_once_with('Load', 1, None, False, {}, '', [])
 def test_search_box_selection_wrong_text(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     widget.search_box.lineEdit().setText('abc')
     self.assertEqual(widget.get_selected_algorithm(), None)
     self.assertEqual(widget.search_box.currentText(), 'abc')
 def test_search_box_selection_wrong_text(self):
     widget = AlgorithmSelectorWidget()
     self._select_in_tree(widget, 'DoStuff v.2')
     widget.search_box.lineEdit().setText('abc')
     self.assertTrue(widget.get_selected_algorithm() is None)
     self.assertEqual(widget.search_box.currentText(), 'abc')