From 47bf96275b875afcd0d15a64d439794b1c94d3b0 Mon Sep 17 00:00:00 2001 From: Robert Applin <robert.applin@stfc.ac.uk> Date: Thu, 18 Mar 2021 16:53:58 +0000 Subject: [PATCH] Refs #30686. Fix FSG Presenter test. --- .../Common/FitScriptGeneratorMockObjects.h | 6 +- .../test/FitScriptGeneratorPresenterTest.h | 224 ++++++++---------- 2 files changed, 99 insertions(+), 131 deletions(-) diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/FitScriptGeneratorMockObjects.h b/qt/widgets/common/inc/MantidQtWidgets/Common/FitScriptGeneratorMockObjects.h index 97c29f5748c..ceabc553fc1 100644 --- a/qt/widgets/common/inc/MantidQtWidgets/Common/FitScriptGeneratorMockObjects.h +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/FitScriptGeneratorMockObjects.h @@ -78,6 +78,9 @@ public: MOCK_CONST_METHOD0(allRows, std::vector<FitDomainIndex>()); MOCK_CONST_METHOD0(selectedRows, std::vector<FitDomainIndex>()); + MOCK_CONST_METHOD0(currentRow, FitDomainIndex()); + + MOCK_CONST_METHOD0(hasLoadedData, bool()); MOCK_CONST_METHOD1(parameterValue, double(std::string const ¶meter)); MOCK_CONST_METHOD1(attributeValue, Mantid::API::IFunction::Attribute( @@ -99,7 +102,7 @@ public: MOCK_METHOD0(resetSelection, void()); - MOCK_CONST_METHOD0(isAddRemoveFunctionForAllChecked, bool()); + MOCK_CONST_METHOD0(applyFunctionChangesToAll, bool()); MOCK_METHOD0(clearFunction, void()); MOCK_CONST_METHOD1(setFunction, @@ -205,6 +208,7 @@ public: MOCK_METHOD1(setFittingMode, void(FittingMode fittingMode)); MOCK_CONST_METHOD0(getFittingMode, FittingMode()); + MOCK_CONST_METHOD0(isSimultaneousMode, bool()); MOCK_CONST_METHOD0(getGlobalTies, std::vector<GlobalTie>()); MOCK_CONST_METHOD0(getGlobalParameters, std::vector<GlobalParameter>()); diff --git a/qt/widgets/common/test/FitScriptGeneratorPresenterTest.h b/qt/widgets/common/test/FitScriptGeneratorPresenterTest.h index f5ad0330aa1..c5c251e8491 100644 --- a/qt/widgets/common/test/FitScriptGeneratorPresenterTest.h +++ b/qt/widgets/common/test/FitScriptGeneratorPresenterTest.h @@ -97,21 +97,22 @@ public: auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; auto const globals = std::vector<GlobalParameter>{}; + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) .WillByDefault(Return(m_wsIndex)); - ON_CALL(*m_model, getFittingMode()) - .WillByDefault(Return(FittingMode::SEQUENTIAL)); + ON_CALL(*m_model, isSimultaneousMode()).WillByDefault(Return(false)); ON_CALL(*m_model, getFunction(m_wsName, m_wsIndex)) .WillByDefault(Return(m_function)); ON_CALL(*m_model, getGlobalParameters()).WillByDefault(Return(globals)); EXPECT_CALL(*m_view, selectedRows()) - .Times(2) + .Times(1) .WillRepeatedly(Return(selectedRows)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(2) @@ -123,9 +124,12 @@ public: EXPECT_CALL(*m_view, removeWorkspaceDomain(m_wsName, m_wsIndex)).Times(1); EXPECT_CALL(*m_model, removeWorkspaceDomain(m_wsName, m_wsIndex)).Times(1); - EXPECT_CALL(*m_model, getFittingMode()).Times(1); + EXPECT_CALL(*m_model, isSimultaneousMode()).Times(1); EXPECT_CALL(*m_view, setSimultaneousMode(false)).Times(1); + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, currentRow()).Times(1); + EXPECT_CALL(*m_model, getFunction(m_wsName, m_wsIndex)).Times(1); EXPECT_CALL(*m_view, setFunction(m_function)).Times(1); @@ -170,9 +174,9 @@ public: void test_that_changing_a_start_x_will_update_its_value_in_the_model_when_the_x_value_is_valid() { auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) @@ -181,9 +185,8 @@ public: ON_CALL(*m_model, updateStartX(m_wsName, m_wsIndex, m_startX)) .WillByDefault(Return(true)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, currentRow()).Times(1).WillOnce(Return(selectedRow)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(1) .WillOnce(Return(m_wsName)); @@ -203,9 +206,9 @@ public: void test_that_changing_a_start_x_will_reset_the_view_if_its_new_value_is_invalid() { auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) @@ -214,9 +217,8 @@ public: ON_CALL(*m_model, updateStartX(m_wsName, m_wsIndex, m_startX)) .WillByDefault(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, currentRow()).Times(1).WillOnce(Return(selectedRow)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(1) .WillOnce(Return(m_wsName)); @@ -242,9 +244,9 @@ public: void test_that_changing_a_end_x_will_update_its_value_in_the_model_when_the_x_value_is_valid() { auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) @@ -253,9 +255,8 @@ public: ON_CALL(*m_model, updateEndX(m_wsName, m_wsIndex, m_endX)) .WillByDefault(Return(true)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, currentRow()).Times(1).WillOnce(Return(selectedRow)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(1) .WillOnce(Return(m_wsName)); @@ -273,9 +274,9 @@ public: void test_that_changing_a_end_x_will_reset_the_view_if_its_new_value_is_invalid() { auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) @@ -284,9 +285,8 @@ public: ON_CALL(*m_model, updateEndX(m_wsName, m_wsIndex, m_endX)) .WillByDefault(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, currentRow()).Times(1).WillOnce(Return(selectedRow)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(1) .WillOnce(Return(m_wsName)); @@ -319,35 +319,30 @@ public: void test_that_FunctionRemoved_will_remove_the_function_from_the_relevant_domains() { - auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; + auto const row = FitDomainIndex(0); + auto const allRows = std::vector<FitDomainIndex>{row}; - ON_CALL(*m_view, isAddRemoveFunctionForAllChecked()) - .WillByDefault(Return(false)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); - ON_CALL(*m_view, workspaceName(selectedRow)) - .WillByDefault(Return(m_wsName)); - ON_CALL(*m_view, workspaceIndex(selectedRow)) - .WillByDefault(Return(m_wsIndex)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); + ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); + ON_CALL(*m_view, workspaceName(row)).WillByDefault(Return(m_wsName)); + ON_CALL(*m_view, workspaceIndex(row)).WillByDefault(Return(m_wsIndex)); - EXPECT_CALL(*m_view, isAddRemoveFunctionForAllChecked) + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, applyFunctionChangesToAll) .Times(1) - .WillOnce(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(2) - .WillRepeatedly(Return(selectedRows)); - EXPECT_CALL(*m_view, workspaceName(selectedRow)) - .Times(2) - .WillRepeatedly(Return(m_wsName)); - EXPECT_CALL(*m_view, workspaceIndex(selectedRow)) - .Times(2) - .WillRepeatedly(Return(m_wsIndex)); + .WillOnce(Return(true)); + EXPECT_CALL(*m_view, allRows()).Times(1).WillOnce(Return(allRows)); + EXPECT_CALL(*m_view, workspaceName(row)) + .Times(1) + .WillOnce(Return(m_wsName)); + EXPECT_CALL(*m_view, workspaceIndex(row)) + .Times(1) + .WillOnce(Return(m_wsIndex)); EXPECT_CALL(*m_model, removeFunction(m_wsName, m_wsIndex, m_function->asString())) .Times(1); - set_selection_changed_expectations(selectedRow, false, true); - m_presenter->notifyPresenter(ViewEvent::FunctionRemoved, m_function->asString()); } @@ -356,19 +351,11 @@ public: test_that_FunctionAdded_will_clear_the_function_in_the_view_if_no_data_exists() { auto const selectedRows = std::vector<FitDomainIndex>{}; - ON_CALL(*m_view, isAddRemoveFunctionForAllChecked()) - .WillByDefault(Return(false)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(false)); - EXPECT_CALL(*m_view, isAddRemoveFunctionForAllChecked) - .Times(1) - .WillOnce(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); - EXPECT_CALL( - *m_view, - displayWarning("Data needs to be loaded before adding a function.")) + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, + displayWarning("Data needs to be loaded using Add Workspace.")) .Times(1); EXPECT_CALL(*m_view, clearFunction()).Times(1); @@ -378,23 +365,22 @@ public: void test_that_FunctionAdded_will_add_the_function_in_the_relevant_domains_when_data_exists() { - auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; + auto const row = FitDomainIndex(0); + auto const allRows = std::vector<FitDomainIndex>{row}; - ON_CALL(*m_view, isAddRemoveFunctionForAllChecked()) - .WillByDefault(Return(false)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); + ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); - EXPECT_CALL(*m_view, isAddRemoveFunctionForAllChecked) + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, applyFunctionChangesToAll) .Times(1) - .WillOnce(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); - EXPECT_CALL(*m_view, workspaceName(selectedRow)) + .WillOnce(Return(true)); + EXPECT_CALL(*m_view, allRows()).Times(1).WillOnce(Return(allRows)); + EXPECT_CALL(*m_view, workspaceName(row)) .Times(1) .WillOnce(Return(m_wsName)); - EXPECT_CALL(*m_view, workspaceIndex(selectedRow)) + EXPECT_CALL(*m_view, workspaceIndex(row)) .Times(1) .WillOnce(Return(m_wsIndex)); EXPECT_CALL(*m_model, @@ -407,21 +393,11 @@ public: void test_that_FunctionReplaced_will_clear_the_function_in_the_view_if_no_data_exists() { - auto const selectedRows = std::vector<FitDomainIndex>{}; + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(false)); - ON_CALL(*m_view, isAddRemoveFunctionForAllChecked()) - .WillByDefault(Return(false)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); - - EXPECT_CALL(*m_view, isAddRemoveFunctionForAllChecked) - .Times(1) - .WillOnce(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); - EXPECT_CALL( - *m_view, - displayWarning("Data needs to be loaded before adding a function.")) + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, + displayWarning("Data needs to be loaded using Add Workspace.")) .Times(1); EXPECT_CALL(*m_view, clearFunction()).Times(1); @@ -431,27 +407,24 @@ public: void test_that_FunctionReplaced_will_set_the_function_in_the_relevant_domains_when_data_exists() { - auto const selectedRow = FitDomainIndex(0); - auto const selectedRows = std::vector<FitDomainIndex>{selectedRow}; + auto const row = FitDomainIndex(0); + auto const allRows = std::vector<FitDomainIndex>{row}; - ON_CALL(*m_view, isAddRemoveFunctionForAllChecked()) - .WillByDefault(Return(false)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); - ON_CALL(*m_view, workspaceName(selectedRow)) - .WillByDefault(Return(m_wsName)); - ON_CALL(*m_view, workspaceIndex(selectedRow)) - .WillByDefault(Return(m_wsIndex)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(true)); + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); + ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); + ON_CALL(*m_view, workspaceName(row)).WillByDefault(Return(m_wsName)); + ON_CALL(*m_view, workspaceIndex(row)).WillByDefault(Return(m_wsIndex)); - EXPECT_CALL(*m_view, isAddRemoveFunctionForAllChecked) + EXPECT_CALL(*m_view, hasLoadedData()).Times(1); + EXPECT_CALL(*m_view, applyFunctionChangesToAll) .Times(1) - .WillOnce(Return(false)); - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); - EXPECT_CALL(*m_view, workspaceName(selectedRow)) + .WillOnce(Return(true)); + EXPECT_CALL(*m_view, allRows()).Times(1).WillOnce(Return(allRows)); + EXPECT_CALL(*m_view, workspaceName(row)) .Times(1) .WillOnce(Return(m_wsName)); - EXPECT_CALL(*m_view, workspaceIndex(selectedRow)) + EXPECT_CALL(*m_view, workspaceIndex(row)) .Times(1) .WillOnce(Return(m_wsIndex)); EXPECT_CALL(*m_model, @@ -470,7 +443,7 @@ public: ON_CALL(*m_view, parameterValue(parameter)) .WillByDefault(Return(parameterValue)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(allRows)); + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); ON_CALL(*m_view, workspaceName(row)).WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(row)).WillByDefault(Return(m_wsIndex)); @@ -479,6 +452,7 @@ public: .WillByDefault(Return(parameter)); EXPECT_CALL(*m_view, parameterValue(parameter)).Times(1); + EXPECT_CALL(*m_view, applyFunctionChangesToAll()).Times(1); EXPECT_CALL(*m_view, allRows()).Times(1); EXPECT_CALL(*m_view, workspaceName(row)) .Times(2) @@ -492,7 +466,6 @@ public: EXPECT_CALL(*m_model, updateParameterValue(m_wsName, m_wsIndex, parameter, parameterValue)) .Times(1); - EXPECT_CALL(*m_view, selectedRows()).Times(1); set_selection_changed_expectations(row, false, true); @@ -507,11 +480,13 @@ public: ON_CALL(*m_view, attributeValue(attribute)) .WillByDefault(Return(attributeValue)); + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); ON_CALL(*m_view, workspaceName(row)).WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(row)).WillByDefault(Return(m_wsIndex)); EXPECT_CALL(*m_view, attributeValue(attribute)).Times(1); + EXPECT_CALL(*m_view, applyFunctionChangesToAll()).Times(1); EXPECT_CALL(*m_view, allRows()).Times(1); EXPECT_CALL(*m_view, workspaceName(row)) .Times(1) @@ -535,8 +510,8 @@ public: auto const allRows = std::vector<FitDomainIndex>{row}; auto const globalTies = std::vector<GlobalTie>{}; + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(allRows)); ON_CALL(*m_model, getEquivalentFunctionIndexForDomain(m_wsName, m_wsIndex, parameter)) .WillByDefault(Return(parameter)); @@ -545,6 +520,7 @@ public: .WillByDefault(Return(tie)); ON_CALL(*m_model, getGlobalTies()).WillByDefault(Return(globalTies)); + EXPECT_CALL(*m_view, applyFunctionChangesToAll()).Times(1); EXPECT_CALL(*m_view, allRows()).Times(1); EXPECT_CALL(*m_view, workspaceName(row)) .Times(2) @@ -565,8 +541,6 @@ public: EXPECT_CALL(*m_model, getGlobalTies()).Times(1); EXPECT_CALL(*m_view, setGlobalTies(VectorSize(0u))).Times(1); - EXPECT_CALL(*m_view, selectedRows()).Times(1); - set_selection_changed_expectations(row, false, true); m_presenter->notifyPresenter(ViewEvent::ParameterTieChanged, parameter, @@ -579,9 +553,10 @@ public: auto const row = FitDomainIndex(0); auto const allRows = std::vector<FitDomainIndex>{row}; + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(allRows)); + EXPECT_CALL(*m_view, applyFunctionChangesToAll()).Times(1); EXPECT_CALL(*m_view, allRows()).Times(1); EXPECT_CALL(*m_view, workspaceName(row)) .Times(2) @@ -592,7 +567,6 @@ public: EXPECT_CALL(*m_model, removeParameterConstraint(m_wsName, m_wsIndex, parameter)) .Times(1); - EXPECT_CALL(*m_view, selectedRows()).Times(1); set_selection_changed_expectations(row, false, true); @@ -607,12 +581,13 @@ public: auto const row = FitDomainIndex(0); auto const allRows = std::vector<FitDomainIndex>{row}; + ON_CALL(*m_view, applyFunctionChangesToAll()).WillByDefault(Return(true)); ON_CALL(*m_view, allRows()).WillByDefault(Return(allRows)); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(allRows)); ON_CALL(*m_model, getEquivalentFunctionIndexForDomain(m_wsName, m_wsIndex, functionIndex)) .WillByDefault(Return(functionIndex)); + EXPECT_CALL(*m_view, applyFunctionChangesToAll()).Times(1); EXPECT_CALL(*m_view, allRows()).Times(1); EXPECT_CALL(*m_view, workspaceName(row)) .Times(2) @@ -627,8 +602,6 @@ public: functionIndex, constraint)) .Times(1); - EXPECT_CALL(*m_view, selectedRows()).Times(1); - set_selection_changed_expectations(row, false, true); m_presenter->notifyPresenter(ViewEvent::ParameterConstraintChanged, @@ -689,17 +662,19 @@ private: bool ignoreNameIndexRetrieval = false, std::vector<GlobalParameter> const &globals = std::vector<GlobalParameter>()) { - auto selectedRows = std::vector<FitDomainIndex>{selectedRow}; + ON_CALL(*m_model, isSimultaneousMode()).WillByDefault(Return(false)); + ON_CALL(*m_view, hasLoadedData()).WillByDefault(Return(!noSelection)); - if (noSelection) - selectedRows = std::vector<FitDomainIndex>{}; + EXPECT_CALL(*m_model, isSimultaneousMode()).Times(1); + EXPECT_CALL(*m_view, setSimultaneousMode(false)).Times(1); - ON_CALL(*m_view, selectedRows()).WillByDefault(Return(selectedRows)); + EXPECT_CALL(*m_view, hasLoadedData()) + .Times(1) + .WillOnce(Return(!noSelection)); - ON_CALL(*m_model, getFittingMode()) - .WillByDefault(Return(FittingMode::SEQUENTIAL)); + if (!noSelection) { + ON_CALL(*m_view, currentRow()).WillByDefault(Return(selectedRow)); - if (!selectedRows.empty()) { ON_CALL(*m_view, workspaceName(selectedRow)) .WillByDefault(Return(m_wsName)); ON_CALL(*m_view, workspaceIndex(selectedRow)) @@ -710,10 +685,9 @@ private: ON_CALL(*m_model, getGlobalParameters()).WillByDefault(Return(globals)); + EXPECT_CALL(*m_view, currentRow()).Times(1).WillOnce(Return(selectedRow)); + if (!ignoreNameIndexRetrieval) { - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); EXPECT_CALL(*m_view, workspaceName(selectedRow)) .Times(1) .WillOnce(Return(m_wsName)); @@ -722,9 +696,6 @@ private: .WillOnce(Return(m_wsIndex)); } - EXPECT_CALL(*m_model, getFittingMode()).Times(1); - EXPECT_CALL(*m_view, setSimultaneousMode(false)).Times(1); - EXPECT_CALL(*m_model, getFunction(m_wsName, m_wsIndex)).Times(1); EXPECT_CALL(*m_view, setFunction(m_function)).Times(1); @@ -732,13 +703,6 @@ private: EXPECT_CALL(*m_view, setGlobalParameters(VectorSize(globals.size()))) .Times(1); } else { - EXPECT_CALL(*m_view, selectedRows()) - .Times(1) - .WillOnce(Return(selectedRows)); - - EXPECT_CALL(*m_model, getFittingMode()).Times(1); - EXPECT_CALL(*m_view, setSimultaneousMode(false)).Times(1); - EXPECT_CALL(*m_view, clearFunction()).Times(1); } } -- GitLab