From 19edc895bc00ed9b5fad832001dc7e6432415237 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Sat, 6 Apr 2019 01:54:49 -0700 Subject: [PATCH] fix unit tests --- src/CalcManager/UnitConverter.cpp | 13 +++---------- src/CalcManager/UnitConverter.h | 4 ++-- src/CalcViewModel/UnitConverterViewModel.cpp | 3 ++- .../UnitConverterViewModelUnitTests.h | 5 ++++- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index efdf1b9d..718e47f4 100644 --- a/src/CalcManager/UnitConverter.cpp +++ b/src/CalcManager/UnitConverter.cpp @@ -153,7 +153,6 @@ void UnitConverter::SetCurrentUnitTypes(const Unit& fromType, const Unit& toType Calculate(); UpdateCurrencySymbols(); - UpdateViewModel(); } /// @@ -337,6 +336,7 @@ wstring UnitConverter::Serialize() /// wstring holding the serialized data. If it does not have expected number of parameters, we will ignore it void UnitConverter::DeSerialize(const wstring& serializedData) { + ClearValues(); ResetCategoriesAndRatios(); if (serializedData.empty()) @@ -635,8 +635,6 @@ void UnitConverter::SendCommand(Command command) } Calculate(); - - UpdateViewModel(); } /// @@ -974,6 +972,7 @@ void UnitConverter::Calculate() m_returnDisplay = m_currentDisplay; m_returnHasDecimal = m_currentHasDecimal; TrimString(m_returnDisplay); + UpdateViewModel(); return; } @@ -1023,6 +1022,7 @@ void UnitConverter::Calculate() } m_returnHasDecimal = (m_returnDisplay.find(L'.') != m_returnDisplay.npos); } + UpdateViewModel(); } /// @@ -1083,10 +1083,3 @@ void UnitConverter::UpdateViewModel() m_vmCallback->DisplayCallback(m_currentDisplay, m_returnDisplay); m_vmCallback->SuggestedValueCallback(CalculateSuggested()); } - -void UnitConverter::ResetCategoriesAndRatio() -{ - ResetCategoriesAndRatios(); - Calculate(); - UpdateViewModel(); -} diff --git a/src/CalcManager/UnitConverter.h b/src/CalcManager/UnitConverter.h index f7de7487..782ab6b0 100644 --- a/src/CalcManager/UnitConverter.h +++ b/src/CalcManager/UnitConverter.h @@ -195,7 +195,8 @@ namespace UnitConversionManager virtual void SetViewModelCallback(_In_ const std::shared_ptr& newCallback) = 0; virtual void SetViewModelCurrencyCallback(_In_ const std::shared_ptr& newCallback) = 0; virtual concurrency::task> RefreshCurrencyRatios() = 0; - virtual void ResetCategoriesAndRatio() = 0; + virtual void Calculate() = 0; + virtual void ResetCategoriesAndRatios() = 0; }; class UnitConverter : public IUnitConverter, public std::enable_shared_from_this @@ -221,7 +222,6 @@ namespace UnitConversionManager concurrency::task> RefreshCurrencyRatios() override; // IUnitConverter - void ResetCategoriesAndRatio(); static std::vector StringToVector(const std::wstring& w, const wchar_t * delimiter, bool addRemainder = false); static std::wstring Quote(const std::wstring& s); static std::wstring Unquote(const std::wstring& s); diff --git a/src/CalcViewModel/UnitConverterViewModel.cpp b/src/CalcViewModel/UnitConverterViewModel.cpp index bd5b8194..ea7846c8 100644 --- a/src/CalcViewModel/UnitConverterViewModel.cpp +++ b/src/CalcViewModel/UnitConverterViewModel.cpp @@ -720,7 +720,8 @@ void UnitConverterViewModel::OnCurrencyDataLoadFinished(bool didLoad) { m_isCurrencyDataLoaded = true; CurrencyDataLoadFailed = !didLoad; - m_model->ResetCategoriesAndRatio(); + m_model->ResetCategoriesAndRatios(); + m_model->Calculate(); ResetCategory(); StringReference key = didLoad ? UnitConverterResourceKeys::CurrencyRatesUpdated : UnitConverterResourceKeys::CurrencyRatesUpdateFailed; diff --git a/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.h b/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.h index 1e1b57c8..903fd074 100644 --- a/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.h +++ b/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.h @@ -42,11 +42,14 @@ namespace CalculatorUnitTests void SendCommand(UCM::Command command) override; void SetViewModelCallback(const std::shared_ptr& newCallback) override; void SetViewModelCurrencyCallback(_In_ const std::shared_ptr& /*newCallback*/) override {} + void Calculate() override {} + void ResetCategoriesAndRatios() override{} concurrency::task> RefreshCurrencyRatios() override { - co_return std::make_pair(L"", L""); + co_return std::make_pair(true, L""); } + UINT m_initCallCount; UINT m_getCategoriesCallCount; UINT m_setCurrentCategoryCallCount;