diff --git a/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj b/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj
new file mode 100644
index 00000000..35de6f3a
--- /dev/null
+++ b/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj
@@ -0,0 +1,414 @@
+
+
+
+
+ Debug
+ ARM
+
+
+ Debug
+ ARM64
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ ARM
+
+
+ Release
+ ARM64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {cc9b4fa7-d746-4f52-9401-0ad1b4d6b16d}
+ StaticLibrary
+ CalcViewModelCopyForUT
+ en-US
+ 14.0
+ true
+ Windows Store
+ 10.0.18362.0
+ 10.0.17134.0
+ 10.0
+
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ true
+ v142
+
+
+ StaticLibrary
+ false
+ true
+ v142
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+ true
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir);C:\Users\zhangh\han_projects\caluimig\calculator\src\CalcViewModel;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ Use
+ true
+ true
+ $(SolutionDir)..\src\;%(AdditionalIncludeDirectories)
+ 4453
+ /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions)
+ Level4
+ true
+
+
+ Console
+ false
+ false
+
+
+ /ignore:4264 %(AdditionalOptions)
+
+
+
+
+ /DSEND_DIAGNOSTICS %(AdditionalOptions)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+ {311e866d-8b93-4609-a691-265941fee101}
+
+
+ {e727a92b-f149-492c-8117-c039a298719b}
+
+
+ {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed}
+
+
+
+
+ /DUSE_MOCK_DATA %(AdditionalOptions)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj.filters b/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj.filters
new file mode 100644
index 00000000..a98b9b76
--- /dev/null
+++ b/src/CalcViewModelCopyForUT/CalcViewModelCopyForUT.vcxproj.filters
@@ -0,0 +1,217 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {2c2762e9-7673-4c4e-bf31-9513125dfc00}
+
+
+ {8f48b19f-14df-421f-bcc6-ef908f9dcff0}
+
+
+ {6811c769-d698-4add-b477-794316d39c66}
+
+
+ {da163ad4-d001-45eb-b4b3-6e9e17d22077}
+
+
+
+
+ Common
+
+
+ Common\Automation
+
+
+ Common\Automation
+
+
+
+
+
+
+
+
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ GraphingCalculator
+
+
+ GraphingCalculator
+
+
+ GraphingCalculator
+
+
+
+
+
+ Common
+
+
+ Common\Automation
+
+
+ Common\Automation
+
+
+
+
+
+
+
+
+
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ Common
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ DataLoaders
+
+
+ GraphingCalculator
+
+
+ GraphingCalculator
+
+
+ GraphingCalculator
+
+
+ GraphingCalculator
+
+
+
+ Common
+
+
+
+
+ DataLoaders
+
+
+
\ No newline at end of file
diff --git a/src/Calculator.sln b/src/Calculator.sln
index d51cad82..c363f7d0 100644
--- a/src/Calculator.sln
+++ b/src/Calculator.sln
@@ -27,6 +27,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TraceLogging", "TraceLoggin
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Calculator", "Calculator\Calculator.csproj", "{3B773403-B0D6-4F9A-948E-512A7A5FB315}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CalcViewModelCopyForUT", "CalcViewModelCopyForUT\CalcViewModelCopyForUT.vcxproj", "{CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
@@ -191,6 +193,20 @@ Global
{3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.ActiveCfg = Release|x86
{3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Build.0 = Release|x86
{3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Deploy.0 = Release|x86
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM.ActiveCfg = Debug|ARM
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM.Build.0 = Debug|ARM
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM64.ActiveCfg = Debug|Win32
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|x64.ActiveCfg = Debug|x64
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|x64.Build.0 = Debug|x64
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|x86.ActiveCfg = Debug|Win32
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|x86.Build.0 = Debug|Win32
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|ARM.ActiveCfg = Release|ARM
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|ARM.Build.0 = Release|ARM
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|ARM64.ActiveCfg = Release|Win32
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x64.ActiveCfg = Release|x64
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x64.Build.0 = Release|x64
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x86.ActiveCfg = Release|Win32
+ {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj
index d93931ce..214f0f59 100644
--- a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj
+++ b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj
@@ -280,8 +280,8 @@
{311e866d-8b93-4609-a691-265941fee101}
-
- {90e9761d-9262-4773-942d-caeae75d7140}
+
+ {cc9b4fa7-d746-4f52-9401-0ad1b4d6b16d}
diff --git a/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp b/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp
index 88b1bfa5..e437781a 100644
--- a/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp
+++ b/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp
@@ -57,13 +57,13 @@ namespace CalculatorUnitTests
TEST_METHOD(TestIsEnUsDigit)
{
- auto& settings = LocalizationSettings::GetInstance();
- VERIFY_IS_FALSE(settings.IsEnUsDigit(L'/'));
- VERIFY_IS_TRUE(settings.IsEnUsDigit(L'0'));
- VERIFY_IS_TRUE(settings.IsEnUsDigit(L'1'));
- VERIFY_IS_TRUE(settings.IsEnUsDigit(L'8'));
- VERIFY_IS_TRUE(settings.IsEnUsDigit(L'9'));
- VERIFY_IS_FALSE(settings.IsEnUsDigit(L':'));
+ auto settings = LocalizationSettings::GetInstance();
+ VERIFY_IS_FALSE(settings->IsEnUsDigit(L'/'));
+ VERIFY_IS_TRUE(settings->IsEnUsDigit(L'0'));
+ VERIFY_IS_TRUE(settings->IsEnUsDigit(L'1'));
+ VERIFY_IS_TRUE(settings->IsEnUsDigit(L'8'));
+ VERIFY_IS_TRUE(settings->IsEnUsDigit(L'9'));
+ VERIFY_IS_FALSE(settings->IsEnUsDigit(L':'));
}
TEST_METHOD(TestIsLocalizedDigit)