From ebd1a6406b392089c992c168ee04f81d3be207fd Mon Sep 17 00:00:00 2001 From: Nkateko <58791731+laviusmotileng-ms@users.noreply.github.com> Date: Thu, 13 Aug 2020 13:51:01 -0700 Subject: [PATCH] [Settings] Unit Tests Migration Feature Branch Merge (#5754) * added MSTest project * enabled settings tests run in the build pipeline * re-added settings test project * re-added test project and sample test * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * updated settings test output path * updated output path for release config * added xunit test project * removed xunit test project * fix build * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-ci.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-ci.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml * Update build-powertoys-steps.yml --- .../ci/templates/build-powertoys-ci.yml | 2 +- .../ci/templates/build-powertoys-steps.yml | 27 +- PowerToys.sln | 154 ++++++- .../General.cs | 32 ++ ...oft.PowerToys.Settings.UI.UnitTests.csproj | 30 ++ .../Assets/LockScreenLogo.scale-200.png | Bin 1430 -> 0 bytes .../Assets/SplashScreen.scale-200.png | Bin 7700 -> 0 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 2937 -> 0 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 1647 -> 0 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 1255 -> 0 bytes .../Assets/StoreLogo.png | Bin 1451 -> 0 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 3204 -> 0 bytes ...crosoft.PowerToys.Settings.UnitTest.csproj | 253 ------------ .../ModelsTests/BasePTModuleSettingsTest.cs | 53 --- .../ModelsTests/BasePTSettingsTest.cs | 17 - .../ModelsTests/HelperTest.cs | 76 ---- .../ModelsTests/SettingsUtilsTests.cs | 123 ------ .../Package.appxmanifest | 46 --- .../UnitTestApp.xaml | 7 - .../UnitTestApp.xaml.cs | 97 ----- .../ViewModelTests/ColorPicker.cs | 65 --- .../ViewModelTests/FancyZones.cs | 382 ------------------ .../ViewModelTests/General.cs | 153 ------- .../ViewModelTests/ImageResizer.cs | 221 ---------- .../ViewModelTests/KeyboardManager.cs | 135 ------- .../PowerLauncherViewModelTest.cs | 138 ------- .../ViewModelTests/PowerPreview.cs | 102 ----- .../ViewModelTests/PowerRename.cs | 202 --------- .../ViewModelTests/ShortcutGuide.cs | 130 ------ 29 files changed, 226 insertions(+), 2219 deletions(-) create mode 100644 src/core/Microsoft.PowerToys.Settings.UI.UnitTests/General.cs create mode 100644 src/core/Microsoft.PowerToys.Settings.UI.UnitTests/Microsoft.PowerToys.Settings.UI.UnitTests.csproj delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/LockScreenLogo.scale-200.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/SplashScreen.scale-200.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square150x150Logo.scale-200.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.scale-200.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Square44x44Logo.targetsize-24_altform-unplated.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/StoreLogo.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Assets/Wide310x150Logo.scale-200.png delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Microsoft.PowerToys.Settings.UnitTest.csproj delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTModuleSettingsTest.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/BasePTSettingsTest.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/HelperTest.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ModelsTests/SettingsUtilsTests.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/Package.appxmanifest delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/UnitTestApp.xaml.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ColorPicker.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/FancyZones.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/General.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ImageResizer.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/KeyboardManager.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerLauncherViewModelTest.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerPreview.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/PowerRename.cs delete mode 100644 src/core/Microsoft.PowerToys.Settings.UnitTest/ViewModelTests/ShortcutGuide.cs 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 735f57adb5dfc01886d137b4e493d7e97cf13af3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m 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 023e7f1feda78d5100569825acedfd213a0d84e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7700 zcmeHLYj~4Yw%(;oxoEH#Kxq-eR|+VkP17b#Vk;?4QwkI+A{L04G+#<<(x#Un1#+h5>eArRq zTw$)ZvTWW_Y?bDho0nPVTh08+s`sp!j74rJTTtXIDww0SILedFv?sZ?yb@@}GN;#8 znk_b~Q(A0YR#uV4ef!osoV1M3;vQ8N$O|fStfgf$S5;ddUNv`tWtGjM;koG#N;7M< zP*84lnx(bn_KF&9Z5Ai$)#Cs3a|$OFw>WKCT$of*L7_CqQEinflT|W{JT+aKp-E0v zsxmYg)1(T>DROm+LN1eQw8}KCTp=C!$H7`PU!t9_Hw@TsTI2`udRZv*!a5`#A9hK6Y95L(CDUX&_@QxKV z_feX{UhA#ZWlvgpL$#w^D#lq`_A4AzDqd|Zv6y9PX&DNcN|l}_D^{q@GG&H^Pg583 z8FI6N8^H7b5WjGp;urW)d7F+_lcp%KsLX0viCmE(OHH+=%ZfD_=`voUuoUxFO^L;- z;!;2{g-YiiO6m4bs89OuF9!p{FGtH-f%8<2gY!h9s)4ciN%{Kh1+`}{^}M~+TDH9N z^Z5PlgVXMC&2&k*Hw^Lb9gny#ro$MOIxIt{+r)EA10$VR3 zanN8D{TUkl+v0CQ_>ZoHP<M-x#8@8ZiT#$Kh`(uRaX1g$Bg|qy$<#7 zSSAi{Nb8Y=lvNVeio+UGLCAtoLBfL`iOv`)yoJMDJBN>4IH@(l7YRF;61@>qq1iM9 zr@b#OC~SAxSle?5Pp8Z78{VO0YFr1x7kZU64Z23eLf2T2#6J_t;-E}DkB?NufZ0Ug zi?J&byXeaB-uTNVhuiM!UVQw}bZrJ3GtAETYp->!{q#zfN7D3AS9@Q7*V^85jGx#R z(QxYV(wW#F0XF9^^s>>H8pPlVJ>)3Oz z&_X8Sf@~?cH_O*cgi$U#`v`RRfv#y3m(ZpKk^5uLup+lVs$~}FZU$r_+}#hl%?g5m z-u-}-666ssp-xWQak~>PPy$mRc|~?pVSs1_@mBEXpPVfLF6(Ktf1S* zPPh@QZ=tFMs?LM2(5P3L2;l_6XX6s&cYsP1ip#eg0`ZEP0HGYh{UmS@o`MihLLvkU zgyAG0G`b1|qjxxh1(ODKFE%AP}Dq=3vK$P7TXP4GrM1kQ72!GUVMDl`rDC&2;TA}*nF z8$nQD&6ys_nc1*E7$*1S@R8$ymy(sQV}imGSedB@{!QR5P&N_H=-^o!?LsWs+2|mH z-e=)T^SvI)=_JIm7}j4;@*Z17=(#}m=~YF~z~CLI+vdAGlJDcdF$TM?CVI1%LhUrN zaa6DJ=Yh$)$k&Oz{-~8yw^GM^8prYxSxo zvI4k#ibryMa%%*8oI-5m61Koa_A_xg=(fwp0aBX{;X4Q;NXUhtaoJDo1>TqhWtn=_ zd5~chq#&6~c%8JZK#t_&J(9EVUU&upYeIovLt1>vaHe}UUq>#RGQj!EN#5+0@T`(@ z^g~>*c`VGRiSt;!$_4+0hk^I!@O3``5=sZ8IwlxWW7km1B&_t&E*u0_9UBa#VqwY* zz>nxv?FAsVnRaD(Bui=6i==BFUw0k4n$>`umU`F2l?7CYTD^)c2X+d9X&ddS9|gj? zM?knGkGCX&W8offw8aLC2$D{PjC3nVZwd4k?eZH8*mZ)U@3Qk8RDFOz_#WUA#vnzy zyP>KrCfKwSXea7}jgJjBc}PGY+4#6%lbZyjhy`5sZd_Vy6Wz;ixa?czkN}J9It1K6 zY!eu>|AwF^fwZlLAYyQI*lM@^>O>Iu6Vf6i>Q$?v!SeUS<{>UYMwz$*%Aq?w^`j{h z!$GZbhu=^D{&ET8;))LL%ZBDZkQqRd2;u~!d9bHGmLRhLDctNgYyjsuvoSZ#iVdoB z2!f--UUA#U;<{je#?cYt^{PIyKa%hW>}uepWMyAI{{Zo7?2>?$c9;whJae%oN|I-kpTQSx_C$Z&;f zi2i)qmEn=y4U0uvk)$m;zKfjPK@oc?I`}1Jzl$Q~aoKBd3kt7L#7gyt|A_qgz6ai< z=X%D1i!d2h?rHR^R8SUj&G||dkC?DT>{o#Yau<@uqVT{Xef&XG}5*E4aPk{}~ zplx&XhaV)&1EfI3Em;Bw#O5SV^c;{twb-1Rw)+=0!e_BLbd7tYmXCH0wrlOSS+~`7He8Iqx0{CN+DVit9;*6L~JAN zD&cyT)2?h}xnYmL?^)<7YyzZ3$FHU^Eg;DLqAV{#wv#Wj7S`Jdl1pX&{3(uZ?!uh} zDc$ZTNV*7le_W6}Hju~GMTxZQ1aWCeUc%!jv3MHAzt>Y-nQK%zfT*3ebDQA5b?iGn; zBjv3B+GhLTexd_(CzZDP4|#n5^~scvB6#Pk%Ho!kQ>yYw((Dv{6=$g3jT1!u6gORW zx5#`7Wy-ZHRa~IxGHdrp(bm%lf>2%J660nj$fCqN(epv@y!l9s7@k6EvxS{AMP>WY zX4$@F8^kayphIx-RGO$+LYl9YdoI5d|4#q9##`_F5Xnx`&GPzp2fB{-{P@ATw=X@~ z_|&^UMWAKD;jjBKTK(~o?cUFRK8EX=6>cXpfzg4ZpMB>*w_^8GSiT-Jp|xBOnzM+j z*09-@-~qJ(eqWq5@R4i^u4^{McCP(!3}C|v_WsTR*bIUxN(Nx`u##3B4{sE`Z`v8w zAwIG`?1~PkID~W{uDzmqH98Pew_1(;x2%8r^vY{)_&J2K)cN{W+h5+g)ZcjP&Ci#O zgy|8K@4kyMfwilHd&6TDlhb%++Pk!>9HRld6HT7gwyZGrxS$}CsD6`>6!!2K1@Mjf z(P0WYB7V_OFZyeWrbOFb>O54BNXf~K&?}3=^v;v_wT{DKr?jN^DtN&DXwX%u?s*c6`%8>WFz z7}YW^tp0bp^NriE)AB6M2l<7rn7fzePtR*omOevpfm9n?}2V*+0iW;S)C zhg`NAjL?D=W#k*$aR{>pGf~lD-rVtD;5jW1_*Jn1j1=es@Kcx4ySM_bwcQCT=d+DV z>Sz~L=Hj@(X%31nK$mWI@7d>}ORB`K(p=+`UD)+99YUGQc7y^bHZ1F(8|tL0 zdK*DT0kSXG_{BKTpP2*2PecdKV9;dq$^ZZDP;Nyq1kp-&GI5eAyZsK!e3V zK@rPy*{(`KIfo+lc878mDKk^V#`VT05}64kBtk%DgwLrOvLMj5-;*GNKv6c6pzMuL z6EP%ob|_0IW}lLRXCP2!9wWhEw3LA7iF#1O1mIZ@Z=6&bz41F;@S_GvYAG-#CW3z{ zP3+6vHhvP&A3$##Vo9$dT^#MoGg^|MDm=Bt1d2RRwSZ<;ZHICpLBv5Xs!D?BH^(9_ z7`H=N&^v|Z-%mP}wNzG{aiFCsRgwzwq!N6obW9+7(R; z(SZ=23`|`>qil!LMGG{_Heq!BD>(Y-zV9wD)}hz25JA37YR%39;kI4y9pgtcUass6 zP24}ZY$vvYeI`zy&)A_X#nY3017ap*0&jx|mVwyGhg3;!keU53a}Uhm3BZI$N$6Se zLWlAmy1S0xKJm4G_U@sN_Tm=`$xWJSEwKU98rZ&)1R^*$$1vA3oG#&*%SMxY_~oGP zP&PFJatFLM-Ps%84IV-+Ow)T{C7cqUAvauy4C z(FRz&?6$Rypj{xO!`y=*J5o4@U8Q-(y5(*=YoKeZ+-1YdljXxkA#B)zo=FeQH#?Le zycNUmEEHWO9a=X^pb#&cOq7-`7UA87#|S22)<7RUtZo|(zibX=w;K3qur9vy#`MNV z6UUcf9ZwEnKCCp+OoBnF@OdbvH)ANXO0o~Pi9l8=x3))}L<#vO0-~O4!~--Ket?d} zJaqsj<@CD1%S2cTW%rOP{Vto%0sGW~1RMa_j^)5nil0Yw- z0EE#bP+l4#P^%PQ+N*oxu1Zq05xZ!bXfYTg>9c{(Iw*lnjR^>kz%lAN^zFce7rppy zY8zA~3GD=A6d*hze&l4D_wA~+O!56)BZTe_rEu}Ezi<4!kG|W#amBZ5{&XS2@6R~H z{9o^y*BkH4$~yX9U&@CgbOzX1bn9xqF|zh$Dh0Y5y*E0e90*$!ObrHY3Ok0`2=O~r zCuke6KrP9KOf?V(YDsM<6pX2nVoN%M$LT^q#FmtaF?1^27F*IcNX~XRB(|hCFvdcc zc)$=S-)acdk$g4?_>jRqxpI6M3vHZk?0c^3=byamYDNf;uB{3NlKW5IhnOS3DNkMV z?tK8?kJ}pmvp%&&eTVOVjHP`q34hN1@!aK}H(K!vI`~gf|Gv+FNEQD5Yd<~yX7k_l h&G-K)@HZb3BABY{)U1?^%I#E6`MGoTtustd{~yM6srvu` 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 af49fec1a5484db1d52a7f9b5ec90a27c7030186..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP 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 ce342a2ec8a61291ba76c54604aea7e9d20af11b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ 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 f6c02ce97e0a802b85f6021e822c89f8bf57d5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= 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 7385b56c0e4d3c6b0efe3324aa1194157d837826..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x 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 288995b397fdbef1fb7e85afd71445d5de1952c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fA - - - - - - 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; - } - } -}