From f60ffd1be759c1a33d58b010d7cfe32de90d76df Mon Sep 17 00:00:00 2001 From: Anthony Lim <anthony.lim@stfc.ac.uk> Date: Tue, 26 Jun 2018 12:57:12 +0100 Subject: [PATCH] refs #22399 fixed failing muon FDA failing test --- scripts/Muon/GUI/Common/mock_widget.py | 11 ++++++++ .../FrequencyDomainAnalysis/FFT/fft_widget.py | 6 ++--- .../MaxEnt/maxent_widget.py | 6 ++--- .../Transform/transform_widget.py | 3 +++ .../transform_selection_widget.py | 4 +-- scripts/test/Muon/CMakeLists.txt | 2 +- ...senter_test.py => transformWidget_test.py} | 25 +++++++++++-------- 7 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 scripts/Muon/GUI/Common/mock_widget.py rename scripts/test/Muon/{transformPresenter_test.py => transformWidget_test.py} (67%) diff --git a/scripts/Muon/GUI/Common/mock_widget.py b/scripts/Muon/GUI/Common/mock_widget.py new file mode 100644 index 00000000000..bfdcd0c4f44 --- /dev/null +++ b/scripts/Muon/GUI/Common/mock_widget.py @@ -0,0 +1,11 @@ + +import PyQt4.QtGui as QtGui + + +def mockQapp(): + qapp = QtGui.QApplication.instance() + if qapp is None: + return QtGui.QApplication(['']) + else: + return qapp + diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py index 12aa3890cdc..ac6a717838f 100644 --- a/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py +++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/FFT/fft_widget.py @@ -16,15 +16,15 @@ class FFTWidget(QtGui.QWidget): fft = FFTModel() model = FFTWrapper(fft) - self.pres = FFTPresenter(view=view, alg=model, load=load) + self.presenter = FFTPresenter(view=view, alg=model, load=load) @property def presenter(self): - return self.pres + return self.presenter @property def widget(self): return self.presenter.widget def closeEvent(self, event): - self.pres.cancel() + self.presenter.cancel() diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py index 42473e1904d..5554896f520 100644 --- a/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py +++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/MaxEnt/maxent_widget.py @@ -15,15 +15,15 @@ class MaxEntWidget(QtGui.QWidget): maxEnt = MaxEntModel() model = MaxEntWrapper(maxEnt) - self.pres = MaxEntPresenter(view, model, load) + self.presenter = MaxEntPresenter(view, model, load) @property def presenter(self): - return self.pres + return self.presenter @property def widget(self): return self.presenter.widget def closeEvent(self, event): - self.pres.cancel() + self.presenter.cancel() diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py index ee2547e8673..c2a06277d11 100644 --- a/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py +++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/Transform/transform_widget.py @@ -26,6 +26,9 @@ class TransformWidget(QtGui.QWidget): def widget(self): return self.view + def mockWidget(self, mockView): + self.view = mockView + def closeEvent(self,event): self.selector.closeEvent(event) self.fft.closeEvent(event) diff --git a/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py b/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py index 6c86d4174fc..02d0651c51a 100644 --- a/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py +++ b/scripts/Muon/GUI/FrequencyDomainAnalysis/TransformSelection/transform_selection_widget.py @@ -11,7 +11,7 @@ class TransformSelectionWidget(QtGui.QWidget): def __init__(self, parent=None): super(TransformSelectionWidget, self).__init__(parent) view = TransformSelectionView(parent) - self.pres = TransformSelectionPresenter(view) + self.presenter = TransformSelectionPresenter(view) def setSelectionConnection(self, slot): view = self.widget @@ -19,7 +19,7 @@ class TransformSelectionWidget(QtGui.QWidget): @property def presenter(self): - return self.pres + return self.presenter @property def widget(self): diff --git a/scripts/test/Muon/CMakeLists.txt b/scripts/test/Muon/CMakeLists.txt index 5eb15b0b9ea..cf8bd05406a 100644 --- a/scripts/test/Muon/CMakeLists.txt +++ b/scripts/test/Muon/CMakeLists.txt @@ -7,7 +7,7 @@ set ( TEST_PY_FILES FFTModel_test.py MaxEntPresenter_test.py MaxEntModel_test.py - transformPresenter_test.py + transformWidget_test.py ) check_tests_valid ( ${CMAKE_CURRENT_SOURCE_DIR} ${TEST_PY_FILES} ) diff --git a/scripts/test/Muon/transformPresenter_test.py b/scripts/test/Muon/transformWidget_test.py similarity index 67% rename from scripts/test/Muon/transformPresenter_test.py rename to scripts/test/Muon/transformWidget_test.py index a27fc922e26..94c78456a0b 100644 --- a/scripts/test/Muon/transformPresenter_test.py +++ b/scripts/test/Muon/transformWidget_test.py @@ -1,11 +1,14 @@ import sys +from Muon.GUI.Common import mock_widget from Muon.GUI.Common import load_utils from Muon.GUI.FrequencyDomainAnalysis.FFT import fft_presenter -from Muon.GUI.FrequencyDomainAnalysis.Transform import transform_presenter +from Muon.GUI.FrequencyDomainAnalysis.Transform import transform_widget from Muon.GUI.FrequencyDomainAnalysis.Transform import transform_view from Muon.GUI.FrequencyDomainAnalysis.TransformSelection import transform_selection_view from Muon.GUI.FrequencyDomainAnalysis.MaxEnt import maxent_presenter + + # need to update this import unittest if sys.version_info.major == 3: @@ -13,12 +16,16 @@ if sys.version_info.major == 3: else: import mock - class FFTTransformTest(unittest.TestCase): def setUp(self): - load_utils.LoadUtils=mock.Mock() - fft_presenter.FFTPresenter=mock.Mock() - maxent_presenter.MaxEntPresenter=mock.Mock() + self._qapp = mock_widget.mockQapp() + self.load= mock.create_autospec( load_utils.LoadUtils,spec_set=True) + self.fft= mock.create_autospec( fft_presenter.FFTPresenter,spec_Set=True) + self.maxent=mock.create_autospec( maxent_presenter.MaxEntPresenter,spec_set=True) + + # create widget + self.widget=transform_widget.TransformWidget(self.load) + # create the view self.view=mock.create_autospec(transform_view.TransformView,spec_set=False) self.view.getView=mock.Mock() self.view.getMethods=mock.Mock(return_value=["FFT","MaxEnt"]) @@ -26,13 +33,11 @@ class FFTTransformTest(unittest.TestCase): self.view.show=mock.Mock() self.view.selection=mock.create_autospec(transform_selection_view.TransformSelectionView,spec_set=True) self.view.selection.changeMethodSignal=mock.Mock() - self.model=mock.create_autospec(model_constructor.ModelConstructor) - self.model.getModel=mock.Mock() - #set presenter - self.presenter=transform_presenter.TransformPresenter(self.view,self.model) + # set the mocked view to the widget + self.widget.mockWidget(self.view) def test_changeDisplay(self): - self.presenter.updateDisplay(1) + self.widget.updateDisplay(1) assert(self.view.hideAll.call_count==1) assert(self.view.show.call_count==1) -- GitLab