// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #include "pch.h" namespace UCM = UnitConversionManager; #pragma once namespace CalculatorUnitTests { static UCM::Unit UNIT1 = { 1, L"UNIT1", L"U1", true, false, false }; static UCM::Unit UNIT2 = { 2, L"UNIT2", L"U2", false, true, false }; static UCM::Unit UNIT3 = { 3, L"UNIT3", L"U3", false, false, false }; static UCM::Unit UNIT4 = { 4, L"UNIT4", L"U4", true, false, false }; static UCM::Unit UNIT5 = { 5, L"UNIT5", L"U5", false, false, false }; static UCM::Unit UNIT6 = { 6, L"UNIT6", L"U6", false, true, false }; static UCM::Unit UNIT7 = { 7, L"UNIT7", L"U7", false, true, false }; static UCM::Unit UNIT8 = { 8, L"UNIT8", L"U8", false, false, false }; static UCM::Unit UNIT9 = { 9, L"UNIT9", L"U9", true, false, false }; static UCM::Unit UNITWHIMSY = { 10, L"Whimsy", L"UW", true, false, true }; static UCM::Category CAT1 = { 1, L"CAT1", false }; // contains Unit1 - Unit3 static UCM::Category CAT2 = { 2, L"CAT2", false }; // contains Unit4 - Unit6 static UCM::Category CAT3 = { 3, L"CAT3", false }; // contains Unit7 - Unit9 class UnitConverterMock : public UnitConversionManager::IUnitConverter { public: UnitConverterMock(); void Initialize() override; std::vector GetCategories() override; UCM::CategorySelectionInitializer SetCurrentCategory(const UCM::Category& input) override; UCM::Category GetCurrentCategory(); void SetCurrentUnitTypes(const UCM::Unit& fromType, const UCM::Unit& toType) override; void SwitchActive(const std::wstring& newValue); std::wstring Serialize() override; void DeSerialize(const std::wstring& serializedData) override; std::wstring SaveUserPreferences() override; void RestoreUserPreferences(_In_ const std::wstring& userPreferences) override; void SendCommand(UCM::Command command) override; void SetViewModelCallback(const std::shared_ptr& newCallback) override; void SetViewModelCurrencyCallback(_In_ const std::shared_ptr& newCallback) override {} concurrency::task> RefreshCurrencyRatios() override { co_return std::make_pair(L"", L""); } UINT m_initCallCount; UINT m_getCategoriesCallCount; UINT m_setCurrentCategoryCallCount; UINT m_setCurUnitTypesCallCount; UINT m_switchActiveCallCount; UINT m_sendCommandCallCount; UINT m_setVMCallbackCallCount; UINT m_serializeCallCount; UINT m_deSerializeCallCount; UCM::Category m_curCategory; UCM::Unit m_curFrom; UCM::Unit m_curTo; UCM::Command m_lastCommand; std::shared_ptr m_vmCallback; std::vector> m_suggestedList; std::wstring m_curValue; }; }