diff --git a/.pipelines/ci/templates/build-powertoys-ci.yml b/.pipelines/ci/templates/build-powertoys-ci.yml
index ae35f56afa..b8af463b10 100644
--- a/.pipelines/ci/templates/build-powertoys-ci.yml
+++ b/.pipelines/ci/templates/build-powertoys-ci.yml
@@ -14,4 +14,4 @@ jobs:
steps:
- template: build-powertoys-steps.yml
parameters:
- additionalBuildArguments: ${{ parameters.additionalBuildArguments }}
\ No newline at end of file
+ additionalBuildArguments: ${{ parameters.additionalBuildArguments }}
diff --git a/.pipelines/ci/templates/build-powertoys-steps.yml b/.pipelines/ci/templates/build-powertoys-steps.yml
index 40416e5e9f..652e35a1ba 100644
--- a/.pipelines/ci/templates/build-powertoys-steps.yml
+++ b/.pipelines/ci/templates/build-powertoys-steps.yml
@@ -73,29 +73,34 @@ steps:
maximumCpuCount: true
-# directly not doing WinAppDriver testing
+# Running VSTest@2 step seperatly for .netframework and .netcore.
+# .NetCore assemblies
- task: VSTest@2
+ displayName: 'Run .Net Core Tests'
inputs:
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
testSelector: 'testAssemblies'
testAssemblyVer2: |
- !**\*PowerToysTests.dll
- !**\*TestAdapter.dll
+ #**\Microsoft.Plugin.Program.UnitTests.dll
+ #**\Microsoft.Plugin.Uri.UnitTests.dll
+ #**\Wox.Test.dll
+ **\*Microsoft.PowerToys.Settings.UI.UnitTests.dll
!**\obj\**
+# .NetFramework assemblies
+- task: VSTest@2
+ displayName: 'Run .Net Framework Tests'
+ inputs:
+ platform: '$(BuildPlatform)'
+ configuration: '$(BuildConfiguration)'
+ testSelector: 'testAssemblies'
+ testAssemblyVer2: |
**\ImageResizer.Test.dll
**\KeyboardManagerTest.dll
- **\Microsoft.Plugin.Program.UnitTests.dll
- **\Microsoft.Plugin.Uri.UnitTests.dll
**\PowerRenameUnitTests.dll
**\UnitTests-CommonLib.dll
**\PreviewPaneUnitTests.dll #this is the markdown tests
**\UnitTests-PreviewHandlerCommon.dll
**\UnitTests-SvgPreviewHandler.dll
- **\Wox.Test.dll
**\powerpreviewTest.dll
- # Can't get working, says no tests
- # #**\Microsoft.PowerToys.Settings.UnitTest.exe
- # crashes CI
- #**\interop-tests.dll
- #**\UnitTests-FancyZones.dll
+ !**\obj\**
diff --git a/PowerToys.sln b/PowerToys.sln
index db9b22afda..8a3175ba09 100644
--- a/PowerToys.sln
+++ b/PowerToys.sln
@@ -234,8 +234,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerToys.Settings.UI.Lib", "src\core\Microsoft.PowerToys.Settings.UI.Lib\Microsoft.PowerToys.Settings.UI.Lib.csproj", "{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.PowerToys.Settings.UnitTest", "src\core\Microsoft.PowerToys.Settings.UnitTest\Microsoft.PowerToys.Settings.UnitTest.csproj", "{A80355C2-780D-4245-BD80-25B8DE698EE3}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "interop", "src\common\interop\interop.vcxproj", "{F055103B-F80B-4D0C-BF48-057C55620033}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common-md-flag", "src\common\common-md-flag\common-md-flag.vcxproj", "{985B3F2F-CEED-4C0A-A249-69257E719145}"
@@ -268,272 +266,414 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Plugin.Uri", "src
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Plugin.Uri.UnitTests", "src\modules\launcher\Plugins\Microsoft.Plugin.Uri.UnitTests\Microsoft.Plugin.Uri.UnitTests.csproj", "{B81FB7B6-D30E-428F-908A-41422EFC1172}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.PowerToys.Settings.UI.UnitTests", "src\core\Microsoft.PowerToys.Settings.UI.UnitTests\Microsoft.PowerToys.Settings.UI.UnitTests.csproj", "{0F85E674-34AE-443D-954C-8321EB8B93B1}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
+ Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|Any CPU.ActiveCfg = Debug|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.ActiveCfg = Debug|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Debug|x64.Build.0 = Debug|x64
+ {9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|Any CPU.ActiveCfg = Release|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.ActiveCfg = Release|x64
{9412D5C6-2CF2-4FC2-A601-B55508EA9B27}.Release|x64.Build.0 = Release|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Debug|Any CPU.ActiveCfg = Debug|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.ActiveCfg = Debug|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Debug|x64.Build.0 = Debug|x64
+ {74485049-C722-400F-ABE5-86AC52D929B3}.Release|Any CPU.ActiveCfg = Release|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.ActiveCfg = Release|x64
{74485049-C722-400F-ABE5-86AC52D929B3}.Release|x64.Build.0 = Release|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|Any CPU.ActiveCfg = Debug|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.ActiveCfg = Debug|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Debug|x64.Build.0 = Debug|x64
+ {A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|Any CPU.ActiveCfg = Release|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.ActiveCfg = Release|x64
{A46629C4-1A6C-40FA-A8B6-10E5102BB0BA}.Release|x64.Build.0 = Release|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|Any CPU.ActiveCfg = Debug|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.ActiveCfg = Debug|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Debug|x64.Build.0 = Debug|x64
+ {07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|Any CPU.ActiveCfg = Release|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.ActiveCfg = Release|x64
{07C389E3-6BC8-41CF-923E-307B1265FA2D}.Release|x64.Build.0 = Release|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|Any CPU.ActiveCfg = Debug|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.ActiveCfg = Debug|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Debug|x64.Build.0 = Debug|x64
+ {F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|Any CPU.ActiveCfg = Release|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.ActiveCfg = Release|x64
{F9C68EDF-AC74-4B77-9AF1-005D9C9F6A99}.Release|x64.Build.0 = Release|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|Any CPU.ActiveCfg = Debug|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.ActiveCfg = Debug|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Debug|x64.Build.0 = Debug|x64
+ {48804216-2A0E-4168-A6D8-9CD068D14227}.Release|Any CPU.ActiveCfg = Release|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.ActiveCfg = Release|x64
{48804216-2A0E-4168-A6D8-9CD068D14227}.Release|x64.Build.0 = Release|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|Any CPU.ActiveCfg = Debug|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.ActiveCfg = Debug|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Debug|x64.Build.0 = Debug|x64
+ {9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|Any CPU.ActiveCfg = Release|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.ActiveCfg = Release|x64
{9C6A7905-72D4-4BF5-B256-ABFDAEF68AE9}.Release|x64.Build.0 = Release|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|Any CPU.ActiveCfg = Debug|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.ActiveCfg = Debug|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Debug|x64.Build.0 = Debug|x64
+ {1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|Any CPU.ActiveCfg = Release|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.ActiveCfg = Release|x64
{1A066C63-64B3-45F8-92FE-664E1CCE8077}.Release|x64.Build.0 = Release|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|Any CPU.ActiveCfg = Debug|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.ActiveCfg = Debug|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Debug|x64.Build.0 = Debug|x64
+ {5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|Any CPU.ActiveCfg = Release|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.ActiveCfg = Release|x64
{5CCC8468-DEC8-4D36-99D4-5C891BEBD481}.Release|x64.Build.0 = Release|x64
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|Any CPU.ActiveCfg = Debug|Win32
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.ActiveCfg = Debug|x64
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Debug|x64.Build.0 = Debug|x64
+ {B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|Any CPU.ActiveCfg = Release|Win32
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.ActiveCfg = Release|x64
{B25AC7A5-FB9F-4789-B392-D5C85E948670}.Release|x64.Build.0 = Release|x64
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|Any CPU.ActiveCfg = Debug|Win32
{51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.ActiveCfg = Debug|x64
{51920F1F-C28C-4ADF-8660-4238766796C2}.Debug|x64.Build.0 = Debug|x64
+ {51920F1F-C28C-4ADF-8660-4238766796C2}.Release|Any CPU.ActiveCfg = Release|Win32
{51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.ActiveCfg = Release|x64
{51920F1F-C28C-4ADF-8660-4238766796C2}.Release|x64.Build.0 = Release|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Debug|Any CPU.ActiveCfg = Debug|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.ActiveCfg = Debug|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Debug|x64.Build.0 = Debug|x64
+ {0E072714-D127-460B-AFAD-B4C40B412798}.Release|Any CPU.ActiveCfg = Release|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.ActiveCfg = Release|x64
{0E072714-D127-460B-AFAD-B4C40B412798}.Release|x64.Build.0 = Release|x64
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|Any CPU.ActiveCfg = Debug|Win32
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.ActiveCfg = Debug|x64
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Debug|x64.Build.0 = Debug|x64
+ {A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|Any CPU.ActiveCfg = Release|Win32
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.ActiveCfg = Release|x64
{A3935CF4-46C5-4A88-84D3-6B12E16E6BA2}.Release|x64.Build.0 = Release|x64
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|Any CPU.ActiveCfg = Debug|Win32
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.ActiveCfg = Debug|x64
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Debug|x64.Build.0 = Debug|x64
+ {2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|Any CPU.ActiveCfg = Release|Win32
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.ActiveCfg = Release|x64
{2151F984-E006-4A9F-92EF-C6DDE3DC8413}.Release|x64.Build.0 = Release|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|Any CPU.ActiveCfg = Debug|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.ActiveCfg = Debug|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Debug|x64.Build.0 = Debug|x64
+ {64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|Any CPU.ActiveCfg = Release|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.ActiveCfg = Release|x64
{64A80062-4D8B-4229-8A38-DFA1D7497749}.Release|x64.Build.0 = Release|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|Any CPU.ActiveCfg = Debug|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.ActiveCfg = Debug|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Debug|x64.Build.0 = Debug|x64
+ {0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|Any CPU.ActiveCfg = Release|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.ActiveCfg = Release|x64
{0485F45C-EA7A-4BB5-804B-3E8D14699387}.Release|x64.Build.0 = Release|x64
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|Any CPU.ActiveCfg = Debug|Win32
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.ActiveCfg = Debug|x64
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Debug|x64.Build.0 = Debug|x64
+ {0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|Any CPU.ActiveCfg = Release|Win32
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.ActiveCfg = Release|x64
{0B593A6C-4143-4337-860E-DB5710FB87DB}.Release|x64.Build.0 = Release|x64
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|Any CPU.ActiveCfg = Debug|Win32
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.ActiveCfg = Debug|x64
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Debug|x64.Build.0 = Debug|x64
+ {031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|Any CPU.ActiveCfg = Release|Win32
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.ActiveCfg = Release|x64
{031AC72E-FA28-4AB7-B690-6F7B9C28AA73}.Release|x64.Build.0 = Release|x64
+ {89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Debug|Any CPU.ActiveCfg = Debug|x64
{89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Debug|x64.ActiveCfg = Debug|x64
{89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Debug|x64.Build.0 = Debug|x64
+ {89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Release|Any CPU.ActiveCfg = Release|x64
{89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Release|x64.ActiveCfg = Release|x64
{89F34AF7-1C34-4A72-AA6E-534BCF972BD9}.Release|x64.Build.0 = Release|x64
+ {2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Debug|Any CPU.ActiveCfg = Debug|x64
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Debug|x64.ActiveCfg = Debug|x64
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Debug|x64.Build.0 = Debug|x64
+ {2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Release|Any CPU.ActiveCfg = Release|x64
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Release|x64.ActiveCfg = Release|x64
{2BE46397-4DFA-414C-9BD4-41E4BBF8CB34}.Release|x64.Build.0 = Release|x64
+ {0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Debug|Any CPU.ActiveCfg = Debug|Win32
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Debug|x64.ActiveCfg = Debug|x64
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Debug|x64.Build.0 = Debug|x64
+ {0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Release|Any CPU.ActiveCfg = Release|Win32
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Release|x64.ActiveCfg = Release|x64
{0B43679E-EDFA-4DA0-AD30-F4628B308B1B}.Release|x64.Build.0 = Release|x64
+ {E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Debug|Any CPU.ActiveCfg = Debug|x64
{E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Debug|x64.ActiveCfg = Debug|x64
{E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Debug|x64.Build.0 = Debug|x64
+ {E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Release|Any CPU.ActiveCfg = Release|x64
{E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Release|x64.ActiveCfg = Release|x64
{E0CC7526-D85E-43AC-844F-D5DF0D2F5AB8}.Release|x64.Build.0 = Release|x64
+ {EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Debug|Any CPU.ActiveCfg = Debug|x64
{EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Debug|x64.ActiveCfg = Debug|x64
{EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Debug|x64.Build.0 = Debug|x64
+ {EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Release|Any CPU.ActiveCfg = Release|x64
{EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Release|x64.ActiveCfg = Release|x64
{EAF23649-EF6E-478B-980E-81FAD96CCA2A}.Release|x64.Build.0 = Release|x64
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|Any CPU.ActiveCfg = Debug|Win32
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.ActiveCfg = Debug|x64
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Debug|x64.Build.0 = Debug|x64
+ {D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|Any CPU.ActiveCfg = Release|Win32
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.ActiveCfg = Release|x64
{D29DDD63-E2CF-4657-9FD5-2AEDE4257E5D}.Release|x64.Build.0 = Release|x64
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|Any CPU.ActiveCfg = Debug|Win32
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.ActiveCfg = Debug|x64
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Debug|x64.Build.0 = Debug|x64
+ {17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|Any CPU.ActiveCfg = Release|Win32
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.ActiveCfg = Release|x64
{17DA04DF-E393-4397-9CF0-84DABE11032E}.Release|x64.Build.0 = Release|x64
+ {8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Debug|Any CPU.ActiveCfg = Debug|x64
{8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Debug|x64.ActiveCfg = Debug|x64
{8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Debug|x64.Build.0 = Debug|x64
+ {8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Release|Any CPU.ActiveCfg = Release|x64
{8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Release|x64.ActiveCfg = Release|x64
{8AFFA899-0B73-49EC-8C50-0FADDA57B2FC}.Release|x64.Build.0 = Release|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|Any CPU.ActiveCfg = Debug|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.ActiveCfg = Debug|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Debug|x64.Build.0 = Debug|x64
+ {B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|Any CPU.ActiveCfg = Release|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.ActiveCfg = Release|x64
{B749F0DB-8E75-47DB-9E5E-265D16D0C0D2}.Release|x64.Build.0 = Release|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|Any CPU.ActiveCfg = Debug|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.ActiveCfg = Debug|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Debug|x64.Build.0 = Debug|x64
+ {4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|Any CPU.ActiveCfg = Release|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.ActiveCfg = Release|x64
{4FD29318-A8AB-4D8F-AA47-60BC241B8DA3}.Release|x64.Build.0 = Release|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|Any CPU.ActiveCfg = Debug|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.ActiveCfg = Debug|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Debug|x64.Build.0 = Debug|x64
+ {8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|Any CPU.ActiveCfg = Release|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.ActiveCfg = Release|x64
{8451ECDD-2EA4-4966-BB0A-7BBC40138E80}.Release|x64.Build.0 = Release|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|Any CPU.ActiveCfg = Debug|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.ActiveCfg = Debug|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Debug|x64.Build.0 = Debug|x64
+ {FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|Any CPU.ActiveCfg = Release|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.ActiveCfg = Release|x64
{FF742965-9A80-41A5-B042-D6C7D3A21708}.Release|x64.Build.0 = Release|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|Any CPU.ActiveCfg = Debug|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.ActiveCfg = Debug|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Debug|x64.Build.0 = Debug|x64
+ {59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|Any CPU.ActiveCfg = Release|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.ActiveCfg = Release|x64
{59BD9891-3837-438A-958D-ADC7F91F6F7E}.Release|x64.Build.0 = Release|x64
+ {74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Debug|Any CPU.ActiveCfg = Debug|x64
{74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Debug|x64.ActiveCfg = Debug|x64
{74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Debug|x64.Build.0 = Debug|x64
+ {74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Release|Any CPU.ActiveCfg = Release|x64
{74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Release|x64.ActiveCfg = Release|x64
{74F1B9ED-F59C-4FE7-B473-7B453E30837E}.Release|x64.Build.0 = Release|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|Any CPU.ActiveCfg = Debug|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.ActiveCfg = Debug|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Debug|x64.Build.0 = Debug|x64
+ {FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|Any CPU.ActiveCfg = Release|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.ActiveCfg = Release|x64
{FDB3555B-58EF-4AE6-B5F1-904719637AB4}.Release|x64.Build.0 = Release|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|Any CPU.ActiveCfg = Debug|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.ActiveCfg = Debug|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Debug|x64.Build.0 = Debug|x64
+ {C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|Any CPU.ActiveCfg = Release|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.ActiveCfg = Release|x64
{C21BFF9C-2C99-4B5F-B7C9-A5E6DDDB37B0}.Release|x64.Build.0 = Release|x64
+ {F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Debug|Any CPU.ActiveCfg = Debug|x64
{F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Debug|x64.ActiveCfg = Debug|x64
{F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Debug|x64.Build.0 = Debug|x64
+ {F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Release|Any CPU.ActiveCfg = Release|x64
{F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Release|x64.ActiveCfg = Release|x64
{F8B870EB-D5F5-45BA-9CF7-A5C459818820}.Release|x64.Build.0 = Release|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|Any CPU.ActiveCfg = Debug|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.ActiveCfg = Debug|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Debug|x64.Build.0 = Debug|x64
+ {E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|Any CPU.ActiveCfg = Release|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.ActiveCfg = Release|x64
{E364F67B-BB12-4E91-B639-355866EBCD8B}.Release|x64.Build.0 = Release|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|Any CPU.ActiveCfg = Debug|x64
{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.ActiveCfg = Debug|x64
{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Debug|x64.Build.0 = Debug|x64
+ {F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|Any CPU.ActiveCfg = Release|x64
{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.ActiveCfg = Release|x64
{F97E5003-F263-4D4A-A964-0F1F3C82DEF2}.Release|x64.Build.0 = Release|x64
+ {880ED251-9E16-4713-9A70-D35FE0C01669}.Debug|Any CPU.ActiveCfg = Debug|x64
{880ED251-9E16-4713-9A70-D35FE0C01669}.Debug|x64.ActiveCfg = Debug|x64
{880ED251-9E16-4713-9A70-D35FE0C01669}.Debug|x64.Build.0 = Debug|x64
+ {880ED251-9E16-4713-9A70-D35FE0C01669}.Release|Any CPU.ActiveCfg = Release|x64
{880ED251-9E16-4713-9A70-D35FE0C01669}.Release|x64.ActiveCfg = Release|x64
{880ED251-9E16-4713-9A70-D35FE0C01669}.Release|x64.Build.0 = Release|x64
+ {AF2349B8-E5B6-4004-9502-687C1C7730B1}.Debug|Any CPU.ActiveCfg = Debug|x64
{AF2349B8-E5B6-4004-9502-687C1C7730B1}.Debug|x64.ActiveCfg = Debug|x64
{AF2349B8-E5B6-4004-9502-687C1C7730B1}.Debug|x64.Build.0 = Debug|x64
+ {AF2349B8-E5B6-4004-9502-687C1C7730B1}.Release|Any CPU.ActiveCfg = Release|x64
{AF2349B8-E5B6-4004-9502-687C1C7730B1}.Release|x64.ActiveCfg = Release|x64
{AF2349B8-E5B6-4004-9502-687C1C7730B1}.Release|x64.Build.0 = Release|x64
+ {6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Debug|Any CPU.ActiveCfg = Debug|x64
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Debug|x64.ActiveCfg = Debug|x64
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Debug|x64.Build.0 = Debug|x64
+ {6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Release|Any CPU.ActiveCfg = Release|x64
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Release|x64.ActiveCfg = Release|x64
{6A71162E-FC4C-4A2C-B90F-3CF94F59A9BB}.Release|x64.Build.0 = Release|x64
+ {A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Debug|Any CPU.ActiveCfg = Debug|x64
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Debug|x64.ActiveCfg = Debug|x64
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Debug|x64.Build.0 = Debug|x64
+ {A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Release|Any CPU.ActiveCfg = Release|x64
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Release|x64.ActiveCfg = Release|x64
{A2B51B8B-8F90-424E-BC97-F9AB7D76CA1A}.Release|x64.Build.0 = Release|x64
+ {DA425894-6E13-404F-8DCB-78584EC0557A}.Debug|Any CPU.ActiveCfg = Debug|x64
{DA425894-6E13-404F-8DCB-78584EC0557A}.Debug|x64.ActiveCfg = Debug|x64
{DA425894-6E13-404F-8DCB-78584EC0557A}.Debug|x64.Build.0 = Debug|x64
+ {DA425894-6E13-404F-8DCB-78584EC0557A}.Release|Any CPU.ActiveCfg = Release|x64
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.ActiveCfg = Release|x64
{DA425894-6E13-404F-8DCB-78584EC0557A}.Release|x64.Build.0 = Release|x64
+ {060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Debug|Any CPU.ActiveCfg = Debug|x64
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Debug|x64.ActiveCfg = Debug|x64
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Debug|x64.Build.0 = Debug|x64
+ {060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Release|Any CPU.ActiveCfg = Release|x64
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Release|x64.ActiveCfg = Release|x64
{060D75DA-2D1C-48E6-A4A1-6F0718B64661}.Release|x64.Build.0 = Release|x64
+ {748417CA-F17E-487F-9411-CAFB6D3F4877}.Debug|Any CPU.ActiveCfg = Debug|x64
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Debug|x64.ActiveCfg = Debug|x64
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Debug|x64.Build.0 = Debug|x64
+ {748417CA-F17E-487F-9411-CAFB6D3F4877}.Release|Any CPU.ActiveCfg = Release|x64
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Release|x64.ActiveCfg = Release|x64
{748417CA-F17E-487F-9411-CAFB6D3F4877}.Release|x64.Build.0 = Release|x64
+ {217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|Any CPU.ActiveCfg = Debug|x64
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.ActiveCfg = Debug|x64
{217DF501-135C-4E38-BFC8-99D4821032EA}.Debug|x64.Build.0 = Debug|x64
+ {217DF501-135C-4E38-BFC8-99D4821032EA}.Release|Any CPU.ActiveCfg = Release|x64
{217DF501-135C-4E38-BFC8-99D4821032EA}.Release|x64.ActiveCfg = Release|x64
{217DF501-135C-4E38-BFC8-99D4821032EA}.Release|x64.Build.0 = Release|x64
+ {47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Debug|Any CPU.ActiveCfg = Debug|Win32
{47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Debug|x64.ActiveCfg = Debug|x64
{47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Debug|x64.Build.0 = Debug|x64
+ {47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Release|Any CPU.ActiveCfg = Release|Win32
{47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Release|x64.ActiveCfg = Release|x64
{47310AB4-9034-4BD1-8D8B-E88AD21A171B}.Release|x64.Build.0 = Release|x64
+ {E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Debug|Any CPU.ActiveCfg = Debug|x64
{E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Debug|x64.ActiveCfg = Debug|x64
{E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Debug|x64.Build.0 = Debug|x64
+ {E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Release|Any CPU.ActiveCfg = Release|x64
{E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Release|x64.ActiveCfg = Release|x64
{E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F}.Release|x64.Build.0 = Release|x64
+ {A7D5099E-F0FD-4BF3-8522-5A682759F915}.Debug|Any CPU.ActiveCfg = Debug|x64
{A7D5099E-F0FD-4BF3-8522-5A682759F915}.Debug|x64.ActiveCfg = Debug|x64
{A7D5099E-F0FD-4BF3-8522-5A682759F915}.Debug|x64.Build.0 = Debug|x64
+ {A7D5099E-F0FD-4BF3-8522-5A682759F915}.Release|Any CPU.ActiveCfg = Release|x64
{A7D5099E-F0FD-4BF3-8522-5A682759F915}.Release|x64.ActiveCfg = Release|x64
{A7D5099E-F0FD-4BF3-8522-5A682759F915}.Release|x64.Build.0 = Release|x64
+ {B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Debug|x64.ActiveCfg = Debug|x64
{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Debug|x64.Build.0 = Debug|x64
+ {B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Release|Any CPU.Build.0 = Release|Any CPU
{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Release|x64.ActiveCfg = Release|x64
{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A}.Release|x64.Build.0 = Release|x64
- {A80355C2-780D-4245-BD80-25B8DE698EE3}.Debug|x64.ActiveCfg = Debug|x64
- {A80355C2-780D-4245-BD80-25B8DE698EE3}.Debug|x64.Build.0 = Debug|x64
- {A80355C2-780D-4245-BD80-25B8DE698EE3}.Release|x64.ActiveCfg = Release|x64
- {A80355C2-780D-4245-BD80-25B8DE698EE3}.Release|x64.Build.0 = Release|x64
+ {F055103B-F80B-4D0C-BF48-057C55620033}.Debug|Any CPU.ActiveCfg = Debug|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Debug|x64.ActiveCfg = Debug|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Debug|x64.Build.0 = Debug|x64
+ {F055103B-F80B-4D0C-BF48-057C55620033}.Release|Any CPU.ActiveCfg = Release|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Release|x64.ActiveCfg = Release|x64
{F055103B-F80B-4D0C-BF48-057C55620033}.Release|x64.Build.0 = Release|x64
+ {985B3F2F-CEED-4C0A-A249-69257E719145}.Debug|Any CPU.ActiveCfg = Debug|x64
{985B3F2F-CEED-4C0A-A249-69257E719145}.Debug|x64.ActiveCfg = Debug|x64
{985B3F2F-CEED-4C0A-A249-69257E719145}.Debug|x64.Build.0 = Debug|x64
+ {985B3F2F-CEED-4C0A-A249-69257E719145}.Release|Any CPU.ActiveCfg = Release|x64
{985B3F2F-CEED-4C0A-A249-69257E719145}.Release|x64.ActiveCfg = Release|x64
{985B3F2F-CEED-4C0A-A249-69257E719145}.Release|x64.Build.0 = Release|x64
+ {437AD818-3F1F-4CA5-A79B-25233A157026}.Debug|Any CPU.ActiveCfg = Debug|x64
{437AD818-3F1F-4CA5-A79B-25233A157026}.Debug|x64.ActiveCfg = Debug|x64
{437AD818-3F1F-4CA5-A79B-25233A157026}.Debug|x64.Build.0 = Debug|x64
+ {437AD818-3F1F-4CA5-A79B-25233A157026}.Release|Any CPU.ActiveCfg = Release|x64
{437AD818-3F1F-4CA5-A79B-25233A157026}.Release|x64.ActiveCfg = Release|x64
{437AD818-3F1F-4CA5-A79B-25233A157026}.Release|x64.Build.0 = Release|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|Any CPU.ActiveCfg = Debug|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.ActiveCfg = Debug|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Debug|x64.Build.0 = Debug|x64
+ {787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|Any CPU.ActiveCfg = Release|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.ActiveCfg = Release|x64
{787B8AA6-CA93-4C84-96FE-DF31110AD1C4}.Release|x64.Build.0 = Release|x64
+ {08C8C05F-0362-41BC-818C-724572DF8B06}.Debug|Any CPU.ActiveCfg = Debug|x64
{08C8C05F-0362-41BC-818C-724572DF8B06}.Debug|x64.ActiveCfg = Debug|x64
{08C8C05F-0362-41BC-818C-724572DF8B06}.Debug|x64.Build.0 = Debug|x64
+ {08C8C05F-0362-41BC-818C-724572DF8B06}.Release|Any CPU.ActiveCfg = Release|x64
{08C8C05F-0362-41BC-818C-724572DF8B06}.Release|x64.ActiveCfg = Release|x64
{08C8C05F-0362-41BC-818C-724572DF8B06}.Release|x64.Build.0 = Release|x64
+ {5D00D290-4016-4CFE-9E41-1E7C724509BA}.Debug|Any CPU.ActiveCfg = Debug|x64
{5D00D290-4016-4CFE-9E41-1E7C724509BA}.Debug|x64.ActiveCfg = Debug|x64
{5D00D290-4016-4CFE-9E41-1E7C724509BA}.Debug|x64.Build.0 = Debug|x64
+ {5D00D290-4016-4CFE-9E41-1E7C724509BA}.Release|Any CPU.ActiveCfg = Release|x64
{5D00D290-4016-4CFE-9E41-1E7C724509BA}.Release|x64.ActiveCfg = Release|x64
{5D00D290-4016-4CFE-9E41-1E7C724509BA}.Release|x64.Build.0 = Release|x64
+ {62173D9A-6724-4C00-A1C8-FB646480A9EC}.Debug|Any CPU.ActiveCfg = Debug|x64
{62173D9A-6724-4C00-A1C8-FB646480A9EC}.Debug|x64.ActiveCfg = Debug|x64
{62173D9A-6724-4C00-A1C8-FB646480A9EC}.Debug|x64.Build.0 = Debug|x64
+ {62173D9A-6724-4C00-A1C8-FB646480A9EC}.Release|Any CPU.ActiveCfg = Release|x64
{62173D9A-6724-4C00-A1C8-FB646480A9EC}.Release|x64.ActiveCfg = Release|x64
{62173D9A-6724-4C00-A1C8-FB646480A9EC}.Release|x64.Build.0 = Release|x64
+ {4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Debug|Any CPU.ActiveCfg = Debug|x64
{4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Debug|x64.ActiveCfg = Debug|x64
{4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Debug|x64.Build.0 = Debug|x64
+ {4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Release|Any CPU.ActiveCfg = Release|x64
{4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Release|x64.ActiveCfg = Release|x64
{4AED67B6-55FD-486F-B917-E543DEE2CB3C}.Release|x64.Build.0 = Release|x64
+ {42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Debug|Any CPU.ActiveCfg = Debug|x64
{42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Debug|x64.ActiveCfg = Debug|x64
{42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Debug|x64.Build.0 = Debug|x64
+ {42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Release|Any CPU.ActiveCfg = Release|x64
{42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Release|x64.ActiveCfg = Release|x64
{42851751-CBC8-45A6-97F5-7A0753F7B4D1}.Release|x64.Build.0 = Release|x64
+ {1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Debug|x64.ActiveCfg = Debug|x64
{1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Debug|x64.Build.0 = Debug|x64
+ {1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Release|Any CPU.Build.0 = Release|Any CPU
{1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Release|x64.ActiveCfg = Release|x64
{1EF1EEF0-10F0-4F2E-8550-39B6D8044D3E}.Release|x64.Build.0 = Release|x64
+ {8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Debug|x64.ActiveCfg = Debug|x64
{8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Debug|x64.Build.0 = Debug|x64
+ {8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Release|Any CPU.Build.0 = Release|Any CPU
{8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Release|x64.ActiveCfg = Release|x64
{8FFE09DA-FA4F-4EE1-B3A2-AD5497FBD1AD}.Release|x64.Build.0 = Release|x64
+ {655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Debug|Any CPU.ActiveCfg = Debug|x64
{655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Debug|x64.ActiveCfg = Debug|x64
{655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Debug|x64.Build.0 = Debug|x64
+ {655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Release|Any CPU.ActiveCfg = Release|x64
{655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Release|x64.ActiveCfg = Release|x64
{655C9AF2-18D3-4DA6-80E4-85504A7722BA}.Release|x64.Build.0 = Release|x64
+ {BA58206B-1493-4C75-BFEA-A85768A1E156}.Debug|Any CPU.ActiveCfg = Debug|x64
{BA58206B-1493-4C75-BFEA-A85768A1E156}.Debug|x64.ActiveCfg = Debug|x64
{BA58206B-1493-4C75-BFEA-A85768A1E156}.Debug|x64.Build.0 = Debug|x64
+ {BA58206B-1493-4C75-BFEA-A85768A1E156}.Release|Any CPU.ActiveCfg = Release|x64
{BA58206B-1493-4C75-BFEA-A85768A1E156}.Release|x64.ActiveCfg = Release|x64
{BA58206B-1493-4C75-BFEA-A85768A1E156}.Release|x64.Build.0 = Release|x64
+ {03276A39-D4E9-417C-8FFD-200B0EE5E871}.Debug|Any CPU.ActiveCfg = Debug|x64
{03276A39-D4E9-417C-8FFD-200B0EE5E871}.Debug|x64.ActiveCfg = Debug|x64
{03276A39-D4E9-417C-8FFD-200B0EE5E871}.Debug|x64.Build.0 = Debug|x64
+ {03276A39-D4E9-417C-8FFD-200B0EE5E871}.Release|Any CPU.ActiveCfg = Release|x64
{03276A39-D4E9-417C-8FFD-200B0EE5E871}.Release|x64.ActiveCfg = Release|x64
{03276A39-D4E9-417C-8FFD-200B0EE5E871}.Release|x64.Build.0 = Release|x64
+ {B81FB7B6-D30E-428F-908A-41422EFC1172}.Debug|Any CPU.ActiveCfg = Debug|x64
{B81FB7B6-D30E-428F-908A-41422EFC1172}.Debug|x64.ActiveCfg = Debug|x64
{B81FB7B6-D30E-428F-908A-41422EFC1172}.Debug|x64.Build.0 = Debug|x64
+ {B81FB7B6-D30E-428F-908A-41422EFC1172}.Release|Any CPU.ActiveCfg = Release|x64
{B81FB7B6-D30E-428F-908A-41422EFC1172}.Release|x64.ActiveCfg = Release|x64
{B81FB7B6-D30E-428F-908A-41422EFC1172}.Release|x64.Build.0 = Release|x64
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Debug|x64.ActiveCfg = Debug|x64
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Debug|x64.Build.0 = Debug|x64
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Release|x64.ActiveCfg = Release|x64
+ {0F85E674-34AE-443D-954C-8321EB8B93B1}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -593,7 +733,6 @@ Global
{E4E0D2AE-B17D-4BD4-8BEE-AFC8CC464C5F} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
{A7D5099E-F0FD-4BF3-8522-5A682759F915} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
{B1BCC8C6-46B5-4BFA-8F22-20F32D99EC6A} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
- {A80355C2-780D-4245-BD80-25B8DE698EE3} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
{F055103B-F80B-4D0C-BF48-057C55620033} = {1AFB6476-670D-4E80-A464-657E01DFF482}
{985B3F2F-CEED-4C0A-A249-69257E719145} = {1AFB6476-670D-4E80-A464-657E01DFF482}
{437AD818-3F1F-4CA5-A79B-25233A157026} = {1AFB6476-670D-4E80-A464-657E01DFF482}
@@ -610,6 +749,7 @@ Global
{1D78B84B-CA39-406C-98F4-71F7EC266CC0} = {4574FDD0-F61D-4376-98BF-E5A1262C11EC}
{03276A39-D4E9-417C-8FFD-200B0EE5E871} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
{B81FB7B6-D30E-428F-908A-41422EFC1172} = {4AFC9975-2456-4C70-94A4-84073C1CED93}
+ {0F85E674-34AE-443D-954C-8321EB8B93B1} = {C3081D9A-1586-441A-B5F4-ED815B3719C1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {C3A2F9D1-7930-4EF4-A6FC-7EE0A99821D0}
diff --git a/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/General.cs b/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/General.cs
new file mode 100644
index 0000000000..0d125e4d91
--- /dev/null
+++ b/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/General.cs
@@ -0,0 +1,32 @@
+// Copyright (c) Microsoft Corporation
+// The Microsoft Corporation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System;
+using System.IO;
+using System.Text.Json;
+using Microsoft.PowerToys.Settings.UI.Lib;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace ViewModelTests
+{
+ [TestClass]
+ public class SampleTest
+ {
+ [TestInitialize]
+ public void Setup()
+ {
+ }
+
+ [TestCleanup]
+ public void CleanUp()
+ {
+ }
+
+ [TestMethod]
+ public void SampleTest_For_Settings()
+ {
+
+ }
+ }
+}
diff --git a/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/Microsoft.PowerToys.Settings.UI.UnitTests.csproj b/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/Microsoft.PowerToys.Settings.UI.UnitTests.csproj
new file mode 100644
index 0000000000..b8c6488b03
--- /dev/null
+++ b/src/core/Microsoft.PowerToys.Settings.UI.UnitTests/Microsoft.PowerToys.Settings.UI.UnitTests.csproj
@@ -0,0 +1,30 @@
+
+
+
+ netcoreapp3.1
+
+ false
+
+ AnyCPU;x64
+
+
+
+ ..\..\..\x64\Debug\SettingsTests\
+
+
+
+ ..\..\..\x64\Release\SettingsTest\
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/LockScreenLogo.scale-200.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/LockScreenLogo.scale-200.png
deleted file mode 100644
index 735f57adb5..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/LockScreenLogo.scale-200.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/SplashScreen.scale-200.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/SplashScreen.scale-200.png
deleted file mode 100644
index 023e7f1fed..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/SplashScreen.scale-200.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square150x150Logo.scale-200.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square150x150Logo.scale-200.png
deleted file mode 100644
index af49fec1a5..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square150x150Logo.scale-200.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.scale-200.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.scale-200.png
deleted file mode 100644
index ce342a2ec8..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.scale-200.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
deleted file mode 100644
index f6c02ce97e..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/StoreLogo.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/StoreLogo.png
deleted file mode 100644
index 7385b56c0e..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/StoreLogo.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Wide310x150Logo.scale-200.png b/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Wide310x150Logo.scale-200.png
deleted file mode 100644
index 288995b397..0000000000
Binary files a/src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Wide310x150Logo.scale-200.png and /dev/null differ
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Microsoft.PowerToys.Settings.UnitTest.csproj b/src/core/Microsoft.PowerToys.Settings.UnitTest/Microsoft.PowerToys.Settings.UnitTest.csproj
deleted file mode 100644
index 72c8505267..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/Microsoft.PowerToys.Settings.UnitTest.csproj
+++ /dev/null
@@ -1,253 +0,0 @@
-
-
-
-
-
-
- Microsoft.PowerToys.Settings.UnitTest
- PowerToys Settings UnitTest
- Microsoft Corp.
- Copyright (C) 2020 Microsoft Corp.
- PowerToys
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Debug
- x86
- {A80355C2-780D-4245-BD80-25B8DE698EE3}
- AppContainerExe
- Properties
- Microsoft.PowerToys.Settings.UnitTest
- Microsoft.PowerToys.Settings.UnitTest
- en-US
- UAP
- 10.0.18362.0
- 10.0.18362.0
- 14
- 512
- {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- $(VisualStudioVersion)
- false
-
-
- true
- bin\x86\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x86
- false
- prompt
- true
-
-
- bin\x86\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x86
- false
- prompt
- true
- true
-
-
- true
- bin\ARM\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- ARM
- false
- prompt
- true
-
-
- bin\ARM\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- ARM
- false
- prompt
- true
- true
-
-
- true
- bin\ARM64\Debug\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- ARM64
- false
- prompt
- true
- true
-
-
- bin\ARM64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- ARM64
- false
- prompt
- true
- true
-
-
- true
- bin\x64\Debug\Test\
- DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
- ;2008
- full
- x64
- false
- prompt
- true
-
-
- bin\x64\Release\
- TRACE;NETFX_CORE;WINDOWS_UWP
- true
- ;2008
- pdbonly
- x64
- false
- prompt
- true
- false
-
-
- PackageReference
-
-
-
-
-
-
- Code
-
-
-
-
-
-
-
-
-
-
- UnitTestApp.xaml
-
-
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
- 6.2.10
-
-
- 2.1.2
-
-
- 2.1.2
-
-
- 16.6.1
-
-
-
-
- GlobalSuppressions.cs
-
-
- StyleCop.json
-
-
-
-
- 1.1.118
- runtime; build; native; contentfiles; analyzers; buildtransitive
- all
-
-
-
-
- {5d00d290-4016-4cfe-9e41-1e7c724509ba}
- Telemetry
-
-
- {b1bcc8c6-46b5-4bfa-8f22-20f32d99ec6a}
- Microsoft.PowerToys.Settings.UI.Lib
-
-
- {a7d5099e-f0fd-4bf3-8522-5a682759f915}
- Microsoft.PowerToys.Settings.UI
-
-
-
- 14.0
-
-
-
-
\ No newline at end of file
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTModuleSettingsTest.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTModuleSettingsTest.cs
deleted file mode 100644
index 84bba538c8..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTModuleSettingsTest.cs
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UnitTest;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Newtonsoft.Json.Linq;
-using Newtonsoft.Json.Schema;
-
-namespace CommonLibTest
-{
- [TestClass]
- public class BasePTModuleSettingsTest
- {
- // Work around for System.JSON required properties:
- // https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to.
- // Test also fails when the attributes are not initialized i.e they have null values.
- [TestMethod]
- [Obsolete]
- public void ToJsonString_ShouldReturnValidJSONOfModel_WhenSuccessful()
- {
- // Arrange
- string file_name = "test\\BasePTModuleSettingsTest";
- string expectedSchemaText = @"
- {
- '$schema': 'http://json-schema.org/draft-04/schema#',
- 'type': 'object',
- 'properties': {
- 'name': {
- 'type': 'string'
- },
- 'version': {
- 'type': 'string'
- }
- },
- 'additionalProperties': false
- }";
-
- string testSettingsConfigs = new BasePTSettingsTest().ToJsonString();
- SettingsUtils.SaveSettings(testSettingsConfigs, file_name);
- JsonSchema expectedSchema = JsonSchema.Parse(expectedSchemaText);
-
- // Act
- JObject actualSchema = JObject.Parse(SettingsUtils.GetSettings(file_name).ToJsonString());
- bool valid = actualSchema.IsValid(expectedSchema);
-
- // Assert
- Assert.IsTrue(valid);
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTSettingsTest.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTSettingsTest.cs
deleted file mode 100644
index 2bec4be724..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTSettingsTest.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.PowerToys.Settings.UI.Lib;
-
-namespace Microsoft.PowerToys.Settings.UnitTest
-{
- public class BasePTSettingsTest : BasePTModuleSettings
- {
- public BasePTSettingsTest()
- {
- Name = string.Empty;
- Version = string.Empty;
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/HelperTest.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/HelperTest.cs
deleted file mode 100644
index 7e4306e087..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/HelperTest.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using Microsoft.PowerToys.Settings.UI.Lib.Utilities;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace CommonLibTest
-{
- [TestClass]
- public class HelperTest
- {
- public static void TestStringIsSmaller(string v1, string v2)
- {
- var res = Helper.CompareVersions(v1, v2);
- Assert.IsTrue(res < 0);
- }
-
- public static void TestStringsAreEqual(string v1, string v2)
- {
- var res = Helper.CompareVersions(v1, v2);
- Assert.IsTrue(res == 0);
- }
-
- [TestMethod]
- public void Helper_CompareVersions_ShouldBeEqual_WhenSuccessful()
- {
- TestStringsAreEqual("v0.0.0", "v0.0.0");
- TestStringsAreEqual("v0.1.1", "v0.1.1");
- TestStringsAreEqual("v1.1.1", "v1.1.1");
- TestStringsAreEqual("v1.999.99", "v1.999.99");
- }
-
- [TestMethod]
- public void Helper_CompareVersions_ShouldBeSmaller_WhenSuccessful()
- {
- TestStringIsSmaller("v0.0.0", "v0.0.1");
- TestStringIsSmaller("v0.0.0", "v0.1.0");
- TestStringIsSmaller("v0.0.0", "v1.0.0");
- TestStringIsSmaller("v1.0.1", "v1.0.2");
- TestStringIsSmaller("v1.1.1", "v1.1.2");
- TestStringIsSmaller("v1.1.1", "v1.2.0");
- TestStringIsSmaller("v1.999.99", "v2.0.0");
- TestStringIsSmaller("v1.0.99", "v1.2.0");
- }
-
- [TestMethod]
- [ExpectedException(typeof(FormatException))]
- public void Helper_CompareVersions_ShouldThrowBadFormat_WhenNoVersionString()
- {
- Helper.CompareVersions("v0.0.1", string.Empty);
- }
-
- [TestMethod]
- [ExpectedException(typeof(FormatException))]
- public void Helper_CompareVersions_ShouldThrowBadFormat_WhenShortVersionString()
- {
- Helper.CompareVersions("v0.0.1", "v0.1");
- }
-
- [TestMethod]
- [ExpectedException(typeof(FormatException))]
- public void Helper_CompareVersions_ShouldThrowBadFormat_WhenLongVersionString()
- {
- Helper.CompareVersions("v0.0.1", "v0.0.0.1");
- }
-
- [TestMethod]
- [ExpectedException(typeof(FormatException))]
- public void Helper_CompareVersions_ShouldThrowBadFormat_WhenItIsNotAVersionString()
- {
- Helper.CompareVersions("v0.0.1", "HelloWorld");
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/SettingsUtilsTests.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/SettingsUtilsTests.cs
deleted file mode 100644
index dcb83fcba8..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/SettingsUtilsTests.cs
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using System.IO;
-using System.Linq;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UnitTest;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace CommonLibTest
-{
- [TestClass]
- public class SettingsUtilsTests
- {
- public SettingsUtilsTests()
- {
- string file_name = "\\test";
- if (SettingsUtils.SettingsFolderExists(file_name))
- {
- DeleteFolder(file_name);
- }
- }
-
- [TestCleanup]
- public void Cleanup()
- {
- string file_name = "\\test";
- if (SettingsUtils.SettingsFolderExists(file_name))
- {
- DeleteFolder(file_name);
- }
- }
-
- [TestMethod]
- public void SaveSettings_SaveSettingsToFile_WhenFilePathExists()
- {
- // Arrange
- string file_name = "\\test";
- string file_contents_correct_json_content = "{\"name\":\"powertoy module name\",\"version\":\"powertoy version\"}";
-
- BasePTSettingsTest expected_json = JsonSerializer.Deserialize(file_contents_correct_json_content);
-
- // Act
- SettingsUtils.SaveSettings(file_contents_correct_json_content, file_name);
- BasePTSettingsTest actual_json = SettingsUtils.GetSettings(file_name);
-
- // Assert
- Assert.IsTrue(actual_json.Equals(actual_json));
- }
-
- [TestMethod]
- public void SaveSettings_ShouldCreateFile_WhenFilePathIsNotFound()
- {
- // Arrange
- string file_name = "test\\Test Folder";
- string file_contents_correct_json_content = "{\"name\":\"powertoy module name\",\"version\":\"powertoy version\"}";
-
- BasePTSettingsTest expected_json = JsonSerializer.Deserialize(file_contents_correct_json_content);
-
- // Act
- if (SettingsUtils.SettingsFolderExists(file_name))
- {
- DeleteFolder(file_name);
- }
-
- SettingsUtils.SaveSettings(file_contents_correct_json_content, file_name);
- BasePTSettingsTest actual_json = SettingsUtils.GetSettings(file_name);
-
- // Assert
- Assert.IsTrue(actual_json.Equals(actual_json));
- }
-
- [TestMethod]
- public void SettingsFolderExists_ShouldReturnFalse_WhenFilePathIsNotFound()
- {
- // Arrange
- string file_name_random = "test\\" + RandomString();
- string file_name_exists = "test\\exists";
- string file_contents_correct_json_content = "{\"name\":\"powertoy module name\",\"version\":\"powertoy version\"}";
-
- // Act
- bool pathNotFound = SettingsUtils.SettingsFolderExists(file_name_random);
-
- SettingsUtils.SaveSettings(file_contents_correct_json_content, file_name_exists);
- bool pathFound = SettingsUtils.SettingsFolderExists(file_name_exists);
-
- // Assert
- Assert.IsFalse(pathNotFound);
- Assert.IsTrue(pathFound);
- }
-
- [TestMethod]
- public void CreateSettingsFolder_ShouldCreateFolder_WhenSuccessful()
- {
- // Arrange
- string file_name = "test\\" + RandomString();
-
- // Act
- SettingsUtils.CreateSettingsFolder(file_name);
-
- // Assert
- Assert.IsTrue(SettingsUtils.SettingsFolderExists(file_name));
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- public static string RandomString()
- {
- Random random = new Random();
- int length = 20;
- const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
-
- return new string(Enumerable.Repeat(chars, length)
- .Select(s => s[random.Next(s.Length)]).ToArray());
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/Package.appxmanifest b/src/core/Microsoft.PowerToys.Settings.UnitTest/Package.appxmanifest
deleted file mode 100644
index cc8fe316af..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/Package.appxmanifest
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
- Microsoft.PowerToys.Settings.UnitTest
- lamotile
- Assets\StoreLogo.png
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml b/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml
deleted file mode 100644
index 50ff71f962..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml.cs
deleted file mode 100644
index c7c710a438..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System;
-using Windows.ApplicationModel;
-using Windows.ApplicationModel.Activation;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-
-namespace Microsoft.PowerToys.Settings.UnitTest
-{
- ///
- /// Provides application-specific behavior to supplement the default Application class.
- ///
- public sealed partial class App : Application
- {
- ///
- /// Initializes a new instance of the class.
- /// This is the first line of authored code
- /// executed, and as such is the logical equivalent of main() or WinMain().
- ///
- public App()
- {
- InitializeComponent();
- Suspending += OnSuspending;
- }
-
- ///
- /// Invoked when the application is launched normally by the end user. Other entry points
- /// will be used such as when the application is launched to open a specific file.
- ///
- /// Details about the launch request and process.
- protected override void OnLaunched(LaunchActivatedEventArgs e)
- {
-#if DEBUG
- if (System.Diagnostics.Debugger.IsAttached)
- {
- DebugSettings.EnableFrameRateCounter = true;
- }
-#endif
-
- Frame rootFrame = Window.Current.Content as Frame;
-
- // Do not repeat app initialization when the Window already has content,
- // just ensure that the window is active
- if (rootFrame == null)
- {
- // Create a Frame to act as the navigation context and navigate to the first page
- rootFrame = new Frame();
-
- rootFrame.NavigationFailed += OnNavigationFailed;
-
- if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
- {
- // TODO: Load state from previously suspended application
- }
-
- // Place the frame in the current Window
- Window.Current.Content = rootFrame;
- }
-
- Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI();
-
- // Ensure the current window is active
- Window.Current.Activate();
-
- Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments);
- }
-
- ///
- /// Invoked when Navigation to a certain page fails
- ///
- /// The Frame which failed navigation
- /// Details about the navigation failure
- private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
- {
- throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
- }
-
- ///
- /// Invoked when application execution is being suspended. Application state is saved
- /// without knowing whether the application will be terminated or resumed with the contents
- /// of memory still intact.
- ///
- /// The source of the suspend request.
- /// Details about the suspend request.
- private void OnSuspending(object sender, SuspendingEventArgs e)
- {
- var deferral = e.SuspendingOperation.GetDeferral();
-
- // TODO: Save application state and stop any background activity
- deferral.Complete();
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ColorPicker.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ColorPicker.cs
deleted file mode 100644
index d129d86590..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ColorPicker.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class ColorPicker
- {
- private const string ModuleName = "ColorPicker";
-
- [TestInitialize]
- public void Setup()
- {
- var generalSettings = new GeneralSettings();
- var colorPickerSettings = new ColorPickerSettings();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(colorPickerSettings.ToJsonString(), colorPickerSettings.Name, ModuleName + ".json");
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(ModuleName))
- {
- DeleteFolder(ModuleName);
- }
-
- ShellPage.DefaultSndMSGCallback = null;
- }
-
- [TestMethod]
- public void ColorPickerIsEnabledByDefault()
- {
- var viewModel = new ColorPickerViewModel();
-
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.Enabled.ColorPicker);
- };
-
- Assert.IsTrue(viewModel.IsEnabled);
- }
-
- private static void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/FancyZones.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/FancyZones.cs
deleted file mode 100644
index 77c99014af..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/FancyZones.cs
+++ /dev/null
@@ -1,382 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Windows.UI;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class FancyZones
- {
- public const string ModuleName = "FancyZones";
-
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- GeneralSettings generalSettings = new GeneralSettings();
- FZConfigProperties fZConfigProperties = new FZConfigProperties();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(fZConfigProperties.ToJsonString(), ModuleName);
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(ModuleName))
- {
- DeleteFolder(ModuleName);
- }
-
- ShellPage.DefaultSndMSGCallback = null;
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- [TestMethod]
- public void IsEnabled_ShouldDisableModule_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsTrue(viewModel.IsEnabled); // check if the module is enabled.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsFalse(snd.GeneralSettings.Enabled.FancyZones);
- };
-
- // act
- viewModel.IsEnabled = false;
- }
-
- [TestMethod]
- public void ShiftDrag_ShouldSetValue2False_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsTrue(viewModel.ShiftDrag); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsFalse(snd.Powertoys.FancyZones.Properties.FancyzonesShiftDrag.Value);
- };
-
- // act
- viewModel.ShiftDrag = false;
- }
-
- [TestMethod]
- public void OverrideSnapHotkeys_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.OverrideSnapHotkeys); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesOverrideSnapHotkeys.Value);
- };
-
- // act
- viewModel.OverrideSnapHotkeys = true;
- }
-
- [TestMethod]
- public void ZoneSetChangeFlashZones_ShouldSetValue2False_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.MakeDraggedWindowsTransparent); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesMakeDraggedWindowTransparent.Value);
- };
-
- // act
- viewModel.MakeDraggedWindowsTransparent = true;
- }
-
- [TestMethod]
- public void MouseSwitch_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.MouseSwitch); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesMouseSwitch.Value);
- };
-
- // act
- viewModel.MouseSwitch = true;
- }
-
- [TestMethod]
- public void DisplayChangeMoveWindows_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.DisplayChangeMoveWindows); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesDisplayChangeMoveWindows.Value);
- };
-
- // act
- viewModel.DisplayChangeMoveWindows = true;
- }
-
- [TestMethod]
- public void ZoneSetChangeMoveWindows_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.ZoneSetChangeMoveWindows); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesZoneSetChangeMoveWindows.Value);
- };
-
- // act
- viewModel.ZoneSetChangeMoveWindows = true;
- }
-
- [TestMethod]
- public void AppLastZoneMoveWindows_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.AppLastZoneMoveWindows); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesAppLastZoneMoveWindows.Value);
- };
-
- // act
- viewModel.AppLastZoneMoveWindows = true;
- }
-
- public void OpenWindowOnActiveMonitor_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.OpenWindowOnActiveMonitor); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesOpenWindowOnActiveMonitor.Value);
- };
-
- // act
- viewModel.OpenWindowOnActiveMonitor = true;
- }
-
- [TestMethod]
- public void RestoreSize_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.RestoreSize); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesRestoreSize.Value);
- };
-
- // act
- viewModel.RestoreSize = true;
- }
-
- [TestMethod]
- public void UseCursorPosEditorStartupScreen_ShouldSetValue2False_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsTrue(viewModel.UseCursorPosEditorStartupScreen); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.UseCursorposEditorStartupscreen.Value);
- };
-
- // act
- viewModel.UseCursorPosEditorStartupScreen = true;
- }
-
- [TestMethod]
- public void ShowOnAllMonitors_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.ShowOnAllMonitors); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesShowOnAllMonitors.Value);
- };
-
- // act
- viewModel.ShowOnAllMonitors = true;
- }
-
- [TestMethod]
- public void SpanZonesAcrossMonitors_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.IsFalse(viewModel.SpanZonesAcrossMonitors); // check if value was initialized to false.
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesSpanZonesAcrossMonitors.Value);
- };
-
- // act
- viewModel.SpanZonesAcrossMonitors = true;
- }
-
- [TestMethod]
- public void ZoneHighlightColor_ShouldSetColorValue2White_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.AreEqual(ConfigDefaults.DefaultFancyZonesZoneHighlightColor, ToRGBHex(viewModel.ZoneHighlightColor));
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("#E1E1E1", snd.Powertoys.FancyZones.Properties.FancyzonesZoneHighlightColor.Value);
- };
-
- // act
- viewModel.ZoneHighlightColor = Color.FromArgb(0, 225, 225, 225);
- }
-
- [TestMethod]
- public void ZoneBorderColor_ShouldSetColorValue2White_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.AreEqual(ConfigDefaults.DefaultFancyzonesBorderColor, ToRGBHex(viewModel.ZoneBorderColor));
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("#E1E1E1", snd.Powertoys.FancyZones.Properties.FancyzonesBorderColor.Value);
- };
-
- // act
- viewModel.ZoneBorderColor = Color.FromArgb(0, 225, 225, 225);
- }
-
- [TestMethod]
- public void ZoneInActiveColor_ShouldSetColorValue2White_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.AreEqual(ConfigDefaults.DefaultFancyZonesInActiveColor, ToRGBHex(viewModel.ZoneInActiveColor));
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("#E1E1E1", snd.Powertoys.FancyZones.Properties.FancyzonesInActiveColor.Value);
- };
-
- // act
- viewModel.ZoneInActiveColor = Color.FromArgb(0, 225, 225, 225);
- }
-
- [TestMethod]
- public void ExcludedApps_ShouldSetColorValue2White_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.AreEqual(string.Empty, viewModel.ExcludedApps);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("Sample", snd.Powertoys.FancyZones.Properties.FancyzonesExcludedApps.Value);
- };
-
- // act
- viewModel.ExcludedApps = "Sample";
- }
-
- [TestMethod]
- public void HighlightOpacity_ShouldSetOpacityValueTo60_WhenSuccessful()
- {
- // arrange
- FancyZonesViewModel viewModel = new FancyZonesViewModel();
- Assert.AreEqual(50, viewModel.HighlightOpacity);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual(60, snd.Powertoys.FancyZones.Properties.FancyzonesHighlightOpacity.Value);
- };
-
- // act
- viewModel.HighlightOpacity = 60;
- }
-
- private string ToRGBHex(Color color)
- {
- return "#" + color.R.ToString("X2") + color.G.ToString("X2") + color.B.ToString("X2");
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/General.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/General.cs
deleted file mode 100644
index 29a86171d4..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/General.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class General
- {
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- GeneralSettings generalSettings = new GeneralSettings();
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(string.Empty))
- {
- DeleteFolder(string.Empty);
- }
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- [TestMethod]
- public void IsElevated_ShouldUpdateRunasAdminStatusAttrs_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
-
- Assert.AreEqual(viewModel.RunningAsUserDefaultText, viewModel.RunningAsText);
- Assert.IsFalse(viewModel.IsElevated);
-
- // Act
- viewModel.IsElevated = true;
-
- // Assert
- Assert.AreEqual(viewModel.RunningAsAdminDefaultText, viewModel.RunningAsText);
- Assert.IsTrue(viewModel.IsElevated);
- }
-
- [TestMethod]
- public void Startup_ShouldEnableRunOnStartUp_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
- Assert.IsFalse(viewModel.Startup);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.Startup);
- };
-
- // act
- viewModel.Startup = true;
- }
-
- [TestMethod]
- public void RunElevated_ShouldEnableAlwaysRunElevated_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
- Assert.IsFalse(viewModel.RunElevated);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.RunElevated);
- };
-
- // act
- viewModel.RunElevated = true;
- }
-
- [TestMethod]
- public void AutoDownloadUpdates_ShouldEnableAutoDownloadUpdates_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
- Assert.IsFalse(viewModel.AutoDownloadUpdates);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.AutoDownloadUpdates);
- };
-
- // act
- viewModel.AutoDownloadUpdates = true;
- }
-
- [TestMethod]
- public void IsLightThemeRadioButtonChecked_ShouldThemeToLight_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
- Assert.IsFalse(viewModel.IsLightThemeRadioButtonChecked);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("light", snd.GeneralSettings.Theme);
- };
-
- // act
- viewModel.IsLightThemeRadioButtonChecked = true;
- }
-
- [TestMethod]
- public void IsDarkThemeRadioButtonChecked_ShouldThemeToDark_WhenSuccessful()
- {
- // Arrange
- GeneralViewModel viewModel = new GeneralViewModel();
- Assert.IsFalse(viewModel.IsDarkThemeRadioButtonChecked);
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("dark", snd.GeneralSettings.Theme);
- };
-
- // act
- viewModel.IsDarkThemeRadioButtonChecked = true;
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ImageResizer.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ImageResizer.cs
deleted file mode 100644
index fa742b48aa..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ImageResizer.cs
+++ /dev/null
@@ -1,221 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Linq;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class ImageResizer
- {
- public const string Module = "ImageResizer";
-
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- // Test base path:
- // C:\Users\\AppData\Local\Packages\08e1807b-8b6d-4bfa-adc4-79c64aae8e78_9abkseg265h2m\LocalState\Microsoft\PowerToys\
- GeneralSettings generalSettings = new GeneralSettings();
- ImageResizerSettings imageResizer = new ImageResizerSettings();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(imageResizer.ToJsonString(), imageResizer.Name);
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(Module))
- {
- DeleteFolder(Module);
- }
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- [TestMethod]
- public void IsEnabled_ShouldEnableModule_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.Enabled.ImageResizer);
- };
-
- // act
- viewModel.IsEnabled = true;
- }
-
- [TestMethod]
- public void JPEGQualityLevel_ShouldSetValueToTen_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // act
- viewModel.JPEGQualityLevel = 10;
-
- // Assert
- viewModel = new ImageResizerViewModel();
- Assert.AreEqual(10, viewModel.JPEGQualityLevel);
- }
-
- [TestMethod]
- public void PngInterlaceOption_ShouldSetValueToTen_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // act
- viewModel.PngInterlaceOption = 10;
-
- // Assert
- viewModel = new ImageResizerViewModel();
- Assert.AreEqual(10, viewModel.PngInterlaceOption);
- }
-
- [TestMethod]
- public void TiffCompressOption_ShouldSetValueToTen_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // act
- viewModel.TiffCompressOption = 10;
-
- // Assert
- viewModel = new ImageResizerViewModel();
- Assert.AreEqual(10, viewModel.TiffCompressOption);
- }
-
- [TestMethod]
- public void FileName_ShouldUpdateValue_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
- string expectedValue = "%1 (%3)";
-
- // act
- viewModel.FileName = expectedValue;
-
- // Assert
- viewModel = new ImageResizerViewModel();
- Assert.AreEqual(expectedValue, viewModel.FileName);
- }
-
- [TestMethod]
- public void KeepDateModified_ShouldUpdateValue_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // act
- viewModel.KeepDateModified = true;
-
- // Assert
- ImageResizerSettings settings = SettingsUtils.GetSettings(Module);
- Assert.AreEqual(true, settings.Properties.ImageresizerKeepDateModified.Value);
- }
-
- [TestMethod]
- public void Encoder_ShouldUpdateValue_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
-
- // act
- viewModel.Encoder = 3;
-
- // Assert
- viewModel = new ImageResizerViewModel();
- Assert.AreEqual("163bcc30-e2e9-4f0b-961d-a3e9fdb788a3", viewModel.GetEncoderGuid(viewModel.Encoder));
- Assert.AreEqual(3, viewModel.Encoder);
- }
-
- [TestMethod]
- public void AddRow_ShouldAddEmptyImageSize_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
- int sizeOfOriginalArray = viewModel.Sizes.Count;
-
- // act
- viewModel.AddRow();
-
- // Assert
- Assert.AreEqual(viewModel.Sizes.Count, sizeOfOriginalArray + 1);
- }
-
- [TestMethod]
- public void DeleteImageSize_ShouldDeleteImageSize_WhenSuccessful()
- {
- // arrange
- ImageResizerViewModel viewModel = new ImageResizerViewModel();
- int sizeOfOriginalArray = viewModel.Sizes.Count;
- ImageSize deleteCandidate = viewModel.Sizes.Where(x => x.Id == 0).First();
-
- // act
- viewModel.DeleteImageSize(0);
-
- // Assert
- Assert.AreEqual(viewModel.Sizes.Count, sizeOfOriginalArray - 1);
- Assert.IsFalse(viewModel.Sizes.Contains(deleteCandidate));
- }
-
- [TestMethod]
- public void UpdateWidthAndHeight_ShouldUpateSize_WhenCorrectValuesAreProvided()
- {
- // arrange
- ImageSize imageSize = new ImageSize()
- {
- Id = 0,
- Name = "Test",
- Fit = (int)ResizeFit.Fit,
- Width = 30,
- Height = 30,
- Unit = (int)ResizeUnit.Pixel,
- };
-
- double negativeWidth = -2.0;
- double negativeHeight = -2.0;
-
- // Act
- imageSize.Width = negativeWidth;
- imageSize.Height = negativeHeight;
-
- // Assert
- Assert.AreEqual(0, imageSize.Width);
- Assert.AreEqual(0, imageSize.Height);
-
- // Act
- imageSize.Width = 50;
- imageSize.Height = 50;
-
- // Assert
- Assert.AreEqual(50, imageSize.Width);
- Assert.AreEqual(50, imageSize.Height);
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/KeyboardManager.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/KeyboardManager.cs
deleted file mode 100644
index 797927ee04..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/KeyboardManager.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Windows.System;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class KeyboardManager
- {
- public const string Module = "Keyboard Manager";
-
- [TestInitialize]
- public void Setup()
- {
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- }
-
- [TestMethod]
- public void CombineShortcutLists_ShouldReturnEmptyList_WhenBothArgumentsAreEmptyLists()
- {
- // arrange
- var firstList = new List();
- var secondList = new List();
-
- // act
- var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);
-
- // Assert
- var expectedResult = new List();
-
- Assert.AreEqual(expectedResult.Count(), result.Count());
- }
-
- [TestMethod]
- public void CombineShortcutLists_ShouldReturnListWithOneAllAppsEntry_WhenFirstArgumentHasOneEntryAndSecondArgumentIsEmpty()
- {
- // arrange
- var firstList = new List();
- var entry = new KeysDataModel();
- entry.OriginalKeys = VirtualKey.Control + ";" + VirtualKey.A;
- entry.NewRemapKeys = VirtualKey.Control + ";" + VirtualKey.V;
- firstList.Add(entry);
- var secondList = new List();
-
- // act
- var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);
-
- // Assert
- var expectedResult = new List();
- var expectedEntry = new AppSpecificKeysDataModel();
- expectedEntry.OriginalKeys = entry.OriginalKeys;
- expectedEntry.NewRemapKeys = entry.NewRemapKeys;
- expectedEntry.TargetApp = "All Apps";
- expectedResult.Add(expectedEntry);
- var x = expectedResult[0].Equals(result[0]);
- Assert.AreEqual(expectedResult.Count(), result.Count());
- Assert.IsTrue(expectedResult[0].Compare(result[0]));
- }
-
- [TestMethod]
- public void CombineShortcutLists_ShouldReturnListWithOneAppSpecificEntry_WhenFirstArgumentIsEmptyAndSecondArgumentHasOneEntry()
- {
- // arrange
- var firstList = new List();
- var secondList = new List();
- var entry = new AppSpecificKeysDataModel();
- entry.OriginalKeys = VirtualKey.Control + ";" + VirtualKey.A;
- entry.NewRemapKeys = VirtualKey.Control + ";" + VirtualKey.V;
- entry.TargetApp = "msedge";
- secondList.Add(entry);
-
- // act
- var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);
-
- // Assert
- var expectedResult = new List();
- var expectedEntry = new AppSpecificKeysDataModel();
- expectedEntry.OriginalKeys = entry.OriginalKeys;
- expectedEntry.NewRemapKeys = entry.NewRemapKeys;
- expectedEntry.TargetApp = entry.TargetApp;
- expectedResult.Add(expectedEntry);
-
- Assert.AreEqual(expectedResult.Count(), result.Count());
- Assert.IsTrue(expectedResult[0].Compare(result[0]));
- }
-
- [TestMethod]
- public void CombineShortcutLists_ShouldReturnListWithOneAllAppsEntryAndOneAppSpecificEntry_WhenFirstArgumentHasOneEntryAndSecondArgumentHasOneEntry()
- {
- // arrange
- var firstList = new List();
- var firstListEntry = new KeysDataModel();
- firstListEntry.OriginalKeys = VirtualKey.Control + ";" + VirtualKey.A;
- firstListEntry.NewRemapKeys = VirtualKey.Control + ";" + VirtualKey.V;
- firstList.Add(firstListEntry);
- var secondList = new List();
- var secondListEntry = new AppSpecificKeysDataModel();
- secondListEntry.OriginalKeys = VirtualKey.Control + ";" + VirtualKey.B;
- secondListEntry.NewRemapKeys = VirtualKey.Control + ";" + VirtualKey.W;
- secondListEntry.TargetApp = "msedge";
- secondList.Add(secondListEntry);
-
- // act
- var result = KeyboardManagerViewModel.CombineShortcutLists(firstList, secondList);
-
- // Assert
- var expectedResult = new List();
- var expectedFirstEntry = new AppSpecificKeysDataModel();
- expectedFirstEntry.OriginalKeys = firstListEntry.OriginalKeys;
- expectedFirstEntry.NewRemapKeys = firstListEntry.NewRemapKeys;
- expectedFirstEntry.TargetApp = "All Apps";
- expectedResult.Add(expectedFirstEntry);
- var expectedSecondEntry = new AppSpecificKeysDataModel();
- expectedSecondEntry.OriginalKeys = secondListEntry.OriginalKeys;
- expectedSecondEntry.NewRemapKeys = secondListEntry.NewRemapKeys;
- expectedSecondEntry.TargetApp = secondListEntry.TargetApp;
- expectedResult.Add(expectedSecondEntry);
-
- Assert.AreEqual(expectedResult.Count(), result.Count());
- Assert.IsTrue(expectedResult[0].Compare(result[0]));
- Assert.IsTrue(expectedResult[1].Compare(result[1]));
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerLauncherViewModelTest.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerLauncherViewModelTest.cs
deleted file mode 100644
index 51fe04d17a..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerLauncherViewModelTest.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class PowerLauncherViewModelTest
- {
- private class SendCallbackMock
- {
- public int TimesSent { get; set; }
-
- public void OnSend(PowerLauncherSettings settings)
- {
- TimesSent++;
- }
- }
-
- private PowerLauncherViewModel viewModel;
- private PowerLauncherSettings mockSettings;
- private SendCallbackMock sendCallbackMock;
-
- [TestInitialize]
- public void Initialize()
- {
- mockSettings = new PowerLauncherSettings();
- sendCallbackMock = new SendCallbackMock();
-
- viewModel = new PowerLauncherViewModel(
- mockSettings,
- new PowerLauncherViewModel.SendCallback(sendCallbackMock.OnSend));
- }
-
- [TestMethod]
- public void SearchPreference_ShouldUpdatePreferences()
- {
- viewModel.SearchResultPreference = "SearchOptionsAreNotValidated";
- viewModel.SearchTypePreference = "SearchOptionsAreNotValidated";
-
- Assert.AreEqual(sendCallbackMock.TimesSent, 2);
- Assert.IsTrue(mockSettings.Properties.SearchResultPreference == "SearchOptionsAreNotValidated");
- Assert.IsTrue(mockSettings.Properties.SearchTypePreference == "SearchOptionsAreNotValidated");
- }
-
- public void AssertHotkeySettings(HotkeySettings setting, bool win, bool ctrl, bool alt, bool shift, int code)
- {
- Assert.AreEqual(win, setting.Win);
- Assert.AreEqual(ctrl, setting.Ctrl);
- Assert.AreEqual(alt, setting.Alt);
- Assert.AreEqual(shift, setting.Shift);
- Assert.AreEqual(code, setting.Code);
- }
-
- [TestMethod]
- public void Hotkeys_ShouldUpdateHotkeys()
- {
- var openPowerLauncher = new HotkeySettings();
- openPowerLauncher.Win = true;
- openPowerLauncher.Code = (int)Windows.System.VirtualKey.S;
-
- var openFileLocation = new HotkeySettings();
- openFileLocation.Ctrl = true;
- openFileLocation.Code = (int)Windows.System.VirtualKey.A;
-
- var openConsole = new HotkeySettings();
- openConsole.Alt = true;
- openConsole.Code = (int)Windows.System.VirtualKey.D;
-
- var copyFileLocation = new HotkeySettings();
- copyFileLocation.Shift = true;
- copyFileLocation.Code = (int)Windows.System.VirtualKey.F;
-
- viewModel.OpenPowerLauncher = openPowerLauncher;
- viewModel.OpenFileLocation = openFileLocation;
- viewModel.OpenConsole = openConsole;
- viewModel.CopyPathLocation = copyFileLocation;
-
- Assert.AreEqual(4, sendCallbackMock.TimesSent);
-
- AssertHotkeySettings(
- mockSettings.Properties.OpenPowerLauncher,
- true,
- false,
- false,
- false,
- (int)Windows.System.VirtualKey.S);
- AssertHotkeySettings(
- mockSettings.Properties.OpenFileLocation,
- false,
- true,
- false,
- false,
- (int)Windows.System.VirtualKey.A);
- AssertHotkeySettings(
- mockSettings.Properties.OpenConsole,
- false,
- false,
- true,
- false,
- (int)Windows.System.VirtualKey.D);
- AssertHotkeySettings(
- mockSettings.Properties.CopyPathLocation,
- false,
- false,
- false,
- true,
- (int)Windows.System.VirtualKey.F);
- }
-
- [TestMethod]
- public void Override_ShouldUpdateOverrides()
- {
- viewModel.OverrideWinRKey = true;
- viewModel.OverrideWinSKey = false;
-
- Assert.AreEqual(1, sendCallbackMock.TimesSent);
-
- Assert.IsTrue(mockSettings.Properties.OverrideWinkeyR);
- Assert.IsFalse(mockSettings.Properties.OverrideWinkeyS);
- }
-
- [TestMethod]
- public void DriveDetectionViewModel_WhenSet_MustUpdateOverrides()
- {
- // Act
- viewModel.DisableDriveDetectionWarning = true;
-
- // Assert
- Assert.AreEqual(1, sendCallbackMock.TimesSent);
- Assert.IsTrue(mockSettings.Properties.DisableDriveDetectionWarning);
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerPreview.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerPreview.cs
deleted file mode 100644
index 9d4681c8ce..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerPreview.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class PowerPreview
- {
- public const string Module = "File Explorer";
-
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- GeneralSettings generalSettings = new GeneralSettings();
- PowerPreviewSettings powerpreview = new PowerPreviewSettings();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(powerpreview.ToJsonString(), powerpreview.Name);
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(Module))
- {
- DeleteFolder(Module);
- }
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- [TestMethod]
- public void SVGRenderIsEnabled_ShouldPrevHandler_WhenSuccessful()
- {
- // arrange
- PowerPreviewViewModel viewModel = new PowerPreviewViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- SndModuleSettings snd = JsonSerializer.Deserialize>(msg);
- Assert.IsTrue(snd.powertoys.FileExplorerPreviewSettings.Properties.EnableSvgPreview);
- };
-
- // act
- viewModel.SVGRenderIsEnabled = true;
- }
-
- [TestMethod]
- public void SVGThumbnailIsEnabled_ShouldPrevHandler_WhenSuccessful()
- {
- // arrange
- PowerPreviewViewModel viewModel = new PowerPreviewViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- SndModuleSettings snd = JsonSerializer.Deserialize>(msg);
- Assert.IsTrue(snd.powertoys.FileExplorerPreviewSettings.Properties.EnableSvgThumbnail);
- };
-
- // act
- viewModel.SVGThumbnailIsEnabled = true;
- }
-
- [TestMethod]
- public void MDRenderIsEnabled_ShouldPrevHandler_WhenSuccessful()
- {
- // arrange
- PowerPreviewViewModel viewModel = new PowerPreviewViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- SndModuleSettings snd = JsonSerializer.Deserialize>(msg);
- Assert.IsTrue(snd.powertoys.FileExplorerPreviewSettings.Properties.EnableMdPreview);
- };
-
- // act
- viewModel.MDRenderIsEnabled = true;
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerRename.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerRename.cs
deleted file mode 100644
index 586ba111fc..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerRename.cs
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class PowerRename
- {
- public const string ModuleName = "PowerRename";
-
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- GeneralSettings generalSettings = new GeneralSettings();
- PowerRenameSettings powerRename = new PowerRenameSettings();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(powerRename.ToJsonString(), powerRename.Name, "power-rename-settings.json");
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- // delete folder created.
- if (SettingsUtils.SettingsFolderExists(ModuleName))
- {
- DeleteFolder(ModuleName);
- }
- }
-
- [TestMethod]
- public void IsEnabled_ShouldEnableModule_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.Enabled.PowerRename);
- };
-
- // act
- viewModel.IsEnabled = true;
- }
-
- [TestMethod]
- public void MRUEnabled_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- PowerRenameSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.PowerRename.Properties.MRUEnabled.Value);
- };
-
- // act
- viewModel.MRUEnabled = true;
- }
-
- [TestMethod]
- public void WhenIsEnabledIsOffAndMRUEnabledIsOffGlobalAndMruShouldBeOff()
- {
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
- ShellPage.DefaultSndMSGCallback = msg => { };
-
- viewModel.IsEnabled = false;
- viewModel.MRUEnabled = false;
-
- Assert.IsFalse(viewModel.GlobalAndMruEnabled);
- }
-
- [TestMethod]
- public void WhenIsEnabledIsOffAndMRUEnabledIsOnGlobalAndMruShouldBeOff()
- {
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
- ShellPage.DefaultSndMSGCallback = msg => { };
-
- viewModel.IsEnabled = false;
- viewModel.MRUEnabled = true;
-
- Assert.IsFalse(viewModel.GlobalAndMruEnabled);
- }
-
- [TestMethod]
- public void WhenIsEnabledIsOnAndMRUEnabledIsOffGlobalAndMruShouldBeOff()
- {
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
- ShellPage.DefaultSndMSGCallback = msg => { };
-
- viewModel.IsEnabled = true;
- viewModel.MRUEnabled = false;
-
- Assert.IsFalse(viewModel.GlobalAndMruEnabled);
- }
-
- [TestMethod]
- public void WhenIsEnabledIsOnAndMRUEnabledIsOnGlobalAndMruShouldBeOn()
- {
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
- ShellPage.DefaultSndMSGCallback = msg => { };
-
- viewModel.IsEnabled = true;
- viewModel.MRUEnabled = true;
-
- Assert.IsTrue(viewModel.GlobalAndMruEnabled);
- }
-
- [TestMethod]
- public void EnabledOnContextMenu_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- PowerRenameSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.PowerRename.Properties.ShowIcon.Value);
- };
-
- // act
- viewModel.EnabledOnContextMenu = true;
- }
-
- [TestMethod]
- public void EnabledOnContextExtendedMenu_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- PowerRenameSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.PowerRename.Properties.ShowIcon.Value);
- };
-
- // act
- viewModel.EnabledOnContextMenu = true;
- }
-
- [TestMethod]
- public void RestoreFlagsOnLaunch_ShouldSetValue2True_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- PowerRenameSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.Powertoys.PowerRename.Properties.PersistState.Value);
- };
-
- // act
- viewModel.RestoreFlagsOnLaunch = true;
- }
-
- [TestMethod]
- public void MaxDispListNum_ShouldSetMaxSuggListTo20_WhenSuccessful()
- {
- // arrange
- PowerRenameViewModel viewModel = new PowerRenameViewModel();
-
- // Assert
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- PowerRenameSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual(20, snd.Powertoys.PowerRename.Properties.MaxMRUSize.Value);
- };
-
- // act
- viewModel.MaxDispListNum = 20;
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
- }
-}
diff --git a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ShortcutGuide.cs b/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ShortcutGuide.cs
deleted file mode 100644
index 2279c6a8ee..0000000000
--- a/src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ShortcutGuide.cs
+++ /dev/null
@@ -1,130 +0,0 @@
-// Copyright (c) Microsoft Corporation
-// The Microsoft Corporation licenses this file to you under the MIT license.
-// See the LICENSE file in the project root for more information.
-
-using System.IO;
-using System.Text.Json;
-using Microsoft.PowerToys.Settings.UI.Lib;
-using Microsoft.PowerToys.Settings.UI.ViewModels;
-using Microsoft.PowerToys.Settings.UI.Views;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
-
-namespace ViewModelTests
-{
- [TestClass]
- public class ShortcutGuide
- {
- private const string ModuleName = "Shortcut Guide";
-
- [TestInitialize]
- public void Setup()
- {
- // initialize creation of test settings file.
- // Test base path:
- // C:\Users\\AppData\Local\Packages\08e1807b-8b6d-4bfa-adc4-79c64aae8e78_9abkseg265h2m\LocalState\Microsoft\PowerToys\
- GeneralSettings generalSettings = new GeneralSettings();
- ShortcutGuideSettings shortcutGuide = new ShortcutGuideSettings();
-
- SettingsUtils.SaveSettings(generalSettings.ToJsonString());
- SettingsUtils.SaveSettings(shortcutGuide.ToJsonString(), shortcutGuide.Name);
- }
-
- [TestCleanup]
- public void CleanUp()
- {
- // delete folder created.
- string generalSettings_file_name = string.Empty;
- if (SettingsUtils.SettingsFolderExists(generalSettings_file_name))
- {
- DeleteFolder(generalSettings_file_name);
- }
-
- if (SettingsUtils.SettingsFolderExists(ModuleName))
- {
- DeleteFolder(ModuleName);
- }
- }
-
- public void DeleteFolder(string powertoy)
- {
- Directory.Delete(Path.Combine(SettingsUtils.LocalApplicationDataFolder(), $"Microsoft\\PowerToys\\{powertoy}"), true);
- }
-
- [TestMethod]
- public void IsEnabled_ShouldEnableModule_WhenSuccessful()
- {
- // Arrange
- ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel();
-
- // Assert
- // Initialize mock function of sending IPC message.
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- OutGoingGeneralSettings snd = JsonSerializer.Deserialize(msg);
- Assert.IsTrue(snd.GeneralSettings.Enabled.ShortcutGuide);
- };
-
- // Act
- viewModel.IsEnabled = true;
- }
-
- [TestMethod]
- public void ThemeIndex_ShouldSetThemeToDark_WhenSuccessful()
- {
- // Arrange
- ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel();
- Assert.AreEqual(1, viewModel.ThemeIndex);
-
- // Assert
- // Initialize mock function of sending IPC message.
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual("dark", snd.Powertoys.ShortcutGuide.Properties.Theme.Value);
- };
-
- // Act
- viewModel.ThemeIndex = 0;
- }
-
- [TestMethod]
- public void PressTime_ShouldSetPressTimeToOneHundred_WhenSuccessful()
- {
- // Arrange
- ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel();
- Assert.AreEqual(900, viewModel.PressTime);
-
- // Assert
- // Initialize mock function of sending IPC message.
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
- Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.PressTime.Value);
- };
-
- // Act
- viewModel.PressTime = 100;
- }
-
- [TestMethod]
- public void OverlayOpacity_ShouldSeOverlayOpacityToOneHundred_WhenSuccessful()
- {
- // Arrange
- ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel();
- Assert.AreEqual(90, viewModel.OverlayOpacity);
-
- // Assert
- // Initialize mock function of sending IPC message.
- ShellPage.DefaultSndMSGCallback = msg =>
- {
- ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize(msg);
-
- // Serialisation not working as expected in the test project:
- Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.OverlayOpacity.Value);
- };
-
- // Act
- viewModel.OverlayOpacity = 100;
- }
- }
-}