fix unit tests

This commit is contained in:
Rudy Huyn 2019-04-06 01:54:49 -07:00
commit 19edc895bc
4 changed files with 11 additions and 14 deletions

View file

@ -153,7 +153,6 @@ void UnitConverter::SetCurrentUnitTypes(const Unit& fromType, const Unit& toType
Calculate();
UpdateCurrencySymbols();
UpdateViewModel();
}
/// <summary>
@ -337,6 +336,7 @@ wstring UnitConverter::Serialize()
/// <param name="serializedData">wstring holding the serialized data. If it does not have expected number of parameters, we will ignore it</param>
void UnitConverter::DeSerialize(const wstring& serializedData)
{
ClearValues();
ResetCategoriesAndRatios();
if (serializedData.empty())
@ -635,8 +635,6 @@ void UnitConverter::SendCommand(Command command)
}
Calculate();
UpdateViewModel();
}
/// <summary>
@ -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();
}
/// <summary>
@ -1083,10 +1083,3 @@ void UnitConverter::UpdateViewModel()
m_vmCallback->DisplayCallback(m_currentDisplay, m_returnDisplay);
m_vmCallback->SuggestedValueCallback(CalculateSuggested());
}
void UnitConverter::ResetCategoriesAndRatio()
{
ResetCategoriesAndRatios();
Calculate();
UpdateViewModel();
}

View file

@ -195,7 +195,8 @@ namespace UnitConversionManager
virtual void SetViewModelCallback(_In_ const std::shared_ptr<IUnitConverterVMCallback>& newCallback) = 0;
virtual void SetViewModelCurrencyCallback(_In_ const std::shared_ptr<IViewModelCurrencyCallback>& newCallback) = 0;
virtual concurrency::task<std::pair<bool, std::wstring>> RefreshCurrencyRatios() = 0;
virtual void ResetCategoriesAndRatio() = 0;
virtual void Calculate() = 0;
virtual void ResetCategoriesAndRatios() = 0;
};
class UnitConverter : public IUnitConverter, public std::enable_shared_from_this<UnitConverter>
@ -221,7 +222,6 @@ namespace UnitConversionManager
concurrency::task<std::pair<bool, std::wstring>> RefreshCurrencyRatios() override;
// IUnitConverter
void ResetCategoriesAndRatio();
static std::vector<std::wstring> 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);

View file

@ -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;

View file

@ -42,11 +42,14 @@ namespace CalculatorUnitTests
void SendCommand(UCM::Command command) override;
void SetViewModelCallback(const std::shared_ptr<UCM::IUnitConverterVMCallback>& newCallback) override;
void SetViewModelCurrencyCallback(_In_ const std::shared_ptr<UCM::IViewModelCurrencyCallback>& /*newCallback*/) override {}
void Calculate() override {}
void ResetCategoriesAndRatios() override{}
concurrency::task<std::pair<bool, std::wstring>> 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;