Skip to content
Snippets Groups Projects
Commit 00d42bd1 authored by Ewan Cook's avatar Ewan Cook
Browse files

refs #22915 checkout new files from load_widget branch

parent e032e34d
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,7 @@ from PyQt4 import QtGui
import sys
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTable
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTablePresenter
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_view import PeriodicTableView
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_model import PeriodicTableModel
from Muon.GUI.Common import message_box
......@@ -14,7 +14,8 @@ class ElementalAnalysisGui(QtGui.QMainWindow):
def __init__(self, parent=None):
super(ElementalAnalysisGui, self).__init__(parent)
self.ptable = PeriodicTable(PeriodicTableView(), PeriodicTableModel())
self.ptable = PeriodicTablePresenter(
PeriodicTableView(), PeriodicTableModel())
self.ptable.register_table_changed(self.table_changed)
self.ptable.register_table_lclicked(self.table_left_clicked)
self.ptable.register_table_rclicked(self.table_right_clicked)
......
from __future__ import print_function
class PeriodicTable(object):
class PeriodicTablePresenter(object):
def __init__(self, view, model):
self.view = view
self.model = model
......
......@@ -8,7 +8,7 @@ set ( TEST_PY_FILES
MaxEntPresenter_test.py
MaxEntModel_test.py
transformWidget_test.py
PeriodicTableWidget_test.py
PeriodicTablePresenter_test.py
PeriodicTableModel_test.py
)
......
......@@ -2,7 +2,7 @@ from __future__ import absolute_import, print_function
import unittest
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTable
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_presenter import PeriodicTablePresenter
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_view import PeriodicTableView
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table_model import PeriodicTableModel
from Muon.GUI.ElementalAnalysis.PeriodicTable.periodic_table import PeriodicTable as silxPT
......@@ -16,32 +16,33 @@ except ImportError:
import mock
class PeriodicTableWidgetTest(unittest.TestCase):
class PeriodicTablePresenterTest(unittest.TestCase):
def setUp(self):
self._qapp = mock_widget.mockQapp()
self._model = mock.create_autospec(PeriodicTableModel)
self.widget = PeriodicTable(PeriodicTableView(), self._model)
self.presenter = PeriodicTablePresenter(
PeriodicTableView(), self._model)
self.mock_elem = mock.Mock()
self.widget.view.ptable = mock.create_autospec(silxPT)
self.widget.view.ptable.getSelection = mock.Mock(
self.presenter.view.ptable = mock.create_autospec(silxPT)
self.presenter.view.ptable.getSelection = mock.Mock(
return_value=self.mock_elem)
self.widget.view.ptable.isElementSelected = mock.Mock(
self.presenter.view.ptable.isElementSelected = mock.Mock(
return_value=True)
self.widget.view.ptable.setSelection = mock.Mock()
self.widget.view.ptable.setElementSelected = mock.Mock()
self.presenter.view.ptable.setSelection = mock.Mock()
self.presenter.view.ptable.setElementSelected = mock.Mock()
self.widget.is_selected = mock.Mock()
self.presenter.is_selected = mock.Mock()
self.widget.view.on_table_lclicked = mock.Mock()
self.widget.view.on_table_rclicked = mock.Mock()
self.widget.view.on_table_changed = mock.Mock()
self.presenter.view.on_table_lclicked = mock.Mock()
self.presenter.view.on_table_rclicked = mock.Mock()
self.presenter.view.on_table_changed = mock.Mock()
self.widget.view.unreg_on_table_lclicked = mock.Mock()
self.widget.view.unreg_on_table_rclicked = mock.Mock()
self.widget.view.unreg_on_table_changed = mock.Mock()
self.presenter.view.unreg_on_table_lclicked = mock.Mock()
self.presenter.view.unreg_on_table_rclicked = mock.Mock()
self.presenter.view.unreg_on_table_changed = mock.Mock()
self.view = self.widget.view
self.view = self.presenter.view
# checks if subsequent function is called on func()
def check_second_func_called(self, func, sub_func):
......@@ -50,48 +51,48 @@ class PeriodicTableWidgetTest(unittest.TestCase):
def test_register_table_lclicked(self):
self.check_second_func_called(
self.widget.register_table_lclicked,
self.presenter.register_table_lclicked,
self.view.on_table_lclicked)
def test_unregister_table_lclicked(self):
self.check_second_func_called(
self.widget.unregister_table_lclicked,
self.presenter.unregister_table_lclicked,
self.view.unreg_on_table_lclicked)
def test_register_table_rclicked(self):
self.check_second_func_called(
self.widget.register_table_rclicked,
self.presenter.register_table_rclicked,
self.view.on_table_rclicked)
def test_unregister_table_rclicked(self):
self.check_second_func_called(
self.widget.unregister_table_rclicked,
self.presenter.unregister_table_rclicked,
self.view.unreg_on_table_rclicked)
def test_register_table_changed(self):
self.check_second_func_called(
self.widget.register_table_changed,
self.presenter.register_table_changed,
self.view.on_table_changed)
def test_unregister_table_changed(self):
self.check_second_func_called(
self.widget.unregister_table_changed,
self.presenter.unregister_table_changed,
self.view.unreg_on_table_changed)
def test_selection(self):
assert self.widget.selection == self.mock_elem
assert self.presenter.selection == self.mock_elem
def test_is_selected(self):
assert self.widget.is_selected(mock.Mock())
assert self.presenter.is_selected(mock.Mock())
def test_select_element(self):
self.check_second_func_called(
self.widget.select_element,
self.presenter.select_element,
self.view.ptable.setElementSelected)
def test_add_elements(self):
self.check_second_func_called(
self.widget.add_elements,
self.presenter.add_elements,
self.view.ptable.setSelection)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment