diff --git a/scripts/Muon/GUI/Common/mock_widget.py b/scripts/Muon/GUI/Common/mock_widget.py new file mode 100644 index 0000000000000000000000000000000000000000..bfdcd0c4f44ca265b0399e3831d55a995aa3f3a1 --- /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 12aa3890cdc442d5f81dd6d219a7db24331b6b27..ac6a717838ff41c662800d83de6017b593aa59ff 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 42473e1904d7487eb299f28c3a09e80faa03adc3..5554896f520d527a325c9806c345c5292fa1e0da 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 ee2547e86737fd67945dc9f29fa1c994fc1e587f..c2a06277d11a579fc317b0834c7d8582552a214c 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 6c86d4174fcbd7b1b2a0b0fa32d1907e055c4da1..02d0651c51a761f49691c879c6bc3b0ecb3e3d97 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 5eb15b0b9eac3ad3ec99c39a1d61584062c62fe4..cf8bd05406a1a0e5e3b15b5f0b1fa3b9f4686e06 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 a27fc922e2695060fa188f5df752883f321aec97..94c78456a0b014bf7f858b74453ef776cbe06b93 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)