public void OriginalFilesModificationTest(string version, string fileName) { var settingPathMock = new Mock <ISettingsPath>(); var mockIOProvider = BackCompatTestProperties.GetModuleIOProvider(version, ShortcutGuideSettings.ModuleName, fileName); var mockSettingsUtils = new SettingsUtils(mockIOProvider.Object, settingPathMock.Object); ShortcutGuideSettings originalSettings = mockSettingsUtils.GetSettings <ShortcutGuideSettings>(ShortcutGuideSettings.ModuleName); var mockGeneralIOProvider = BackCompatTestProperties.GetGeneralSettingsIOProvider(version); var mockGeneralSettingsUtils = new SettingsUtils(mockGeneralIOProvider.Object, settingPathMock.Object); GeneralSettings originalGeneralSettings = mockGeneralSettingsUtils.GetSettings <GeneralSettings>(); var generalSettingsRepository = new BackCompatTestProperties.MockSettingsRepository <GeneralSettings>(mockGeneralSettingsUtils); var shortcutSettingsRepository = new BackCompatTestProperties.MockSettingsRepository <ShortcutGuideSettings>(mockSettingsUtils); // Initialise View Model with test Config files Func <string, int> SendMockIPCConfigMSG = msg => { return(0); }; ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(generalSettingsRepository, shortcutSettingsRepository, SendMockIPCConfigMSG); // Verify that the old settings persisted Assert.AreEqual(originalGeneralSettings.Enabled.ShortcutGuide, viewModel.IsEnabled); Assert.AreEqual(originalSettings.Properties.OverlayOpacity.Value, viewModel.OverlayOpacity); Assert.AreEqual(originalSettings.Properties.PressTime.Value, viewModel.PressTime); //Verify that the stub file was used var expectedCallCount = 2; //once via the view model, and once by the test (GetSettings<T>) BackCompatTestProperties.VerifyModuleIOProviderWasRead(mockIOProvider, ShortcutGuideSettings.ModuleName, expectedCallCount); BackCompatTestProperties.VerifyGeneralSettingsIOProviderWasRead(mockGeneralIOProvider, expectedCallCount); }
public ShortcutGuidePage() { InitializeComponent(); ViewModel = new ShortcutGuideViewModel(); DataContext = ViewModel; }
public ShortcutGuidePage() { InitializeComponent(); ViewModel = new ShortcutGuideViewModel(ShellPage.SendDefaultIPCMessage); DataContext = ViewModel; }
public ShortcutGuidePage() { InitializeComponent(); var settingsUtils = new SettingsUtils(new SystemIOProvider()); ViewModel = new ShortcutGuideViewModel(settingsUtils, ShellPage.SendDefaultIPCMessage); DataContext = ViewModel; }
public ShortcutGuidePage() { InitializeComponent(); var settingsUtils = new SettingsUtils(new SystemIOProvider()); ViewModel = new ShortcutGuideViewModel(SettingsRepository<GeneralSettings>.GetInstance(settingsUtils), SettingsRepository<ShortcutGuideSettings>.GetInstance(settingsUtils), ShellPage.SendDefaultIPCMessage); DataContext = ViewModel; }
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 <OutGoingGeneralSettings>(msg); Assert.IsTrue(snd.GeneralSettings.Enabled.ShortcutGuide); }; // Act viewModel.IsEnabled = true; }
public void PressTime_ShouldSetPressTimeToOneHundred_WhenSuccessful() { // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(); // Assert // Initilize mock function of sending IPC message. ShellPage.DefaultSndMSGCallback = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.PressTime.Value); }; // Act viewModel.PressTime = 100; }
public void ThemeIndex_ShouldSetThemeToDark_WhenSuccessful() { // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(); // Assert // Initilize mock function of sending IPC message. ShellPage.DefaultSndMSGCallback = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); Assert.AreEqual("dark", snd.Powertoys.ShortcutGuide.Properties.Theme.Value); }; // Act viewModel.ThemeIndex = 0; }
public void OverlayOpacityShouldSeOverlayOpacityToOneHundredWhenSuccessful() { // Arrange var settingsUtilsMock = new Mock <ISettingsUtils>(); ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(settingsUtilsMock.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), msg => { return(0); }, ShortCutGuideTestFolderName); Assert.AreEqual(90, viewModel.OverlayOpacity); // Act viewModel.OverlayOpacity = 100; // Assert Func <string, bool> equal100 = s => JsonSerializer.Deserialize <ShortcutGuideSettings>(s).Properties.OverlayOpacity.Value == 100; settingsUtilsMock.Verify(x => x.SaveSettings(It.Is <string>(y => equal100(y)), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void IsEnabled_ShouldEnableModule_WhenSuccessful() { // Assert // Initialize mock function of sending IPC message. Func <string, int> SendMockIPCConfigMSG = msg => { OutGoingGeneralSettings snd = JsonSerializer.Deserialize <OutGoingGeneralSettings>(msg); Assert.IsTrue(snd.GeneralSettings.Enabled.ShortcutGuide); return(0); }; // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), SendMockIPCConfigMSG, ShortCutGuideTestFolderName); // Act viewModel.IsEnabled = true; }
public void OverlayOpacity_ShouldSeOverlayOpacityToOneHundred_WhenSuccessful() { // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(); // Assert // Initilize mock function of sending IPC message. ShellPage.DefaultSndMSGCallback = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); // Serialisation not working as expected in the test project: Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.OverlayOpacity.Value); }; // Act viewModel.OverlayOpacity = 100; }
public void ThemeIndexShouldSetThemeToDarkWhenSuccessful() { // Arrange var settingsUtilsMock = new Mock <ISettingsUtils>(); ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(settingsUtilsMock.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), msg => { return(0); }, ShortCutGuideTestFolderName); // Initialize shortcut guide settings theme to 'system' to be in sync with shortcut_guide.h. Assert.AreEqual(2, viewModel.ThemeIndex); // Act viewModel.ThemeIndex = 0; // Assert Func <string, bool> isDark = s => JsonSerializer.Deserialize <ShortcutGuideSettings>(s).Properties.Theme.Value == "dark"; settingsUtilsMock.Verify(x => x.SaveSettings(It.Is <string>(y => isDark(y)), It.IsAny <string>(), It.IsAny <string>()), Times.Once); }
public void PressTime_ShouldSetPressTimeToOneHundred_WhenSuccessful() { // Assert // Initialize mock function of sending IPC message. Func <string, int> SendMockIPCConfigMSG = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.PressTime.Value); return(0); }; // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), SendMockIPCConfigMSG, ShortCutGuideTestFolderName); Assert.AreEqual(900, viewModel.PressTime); // Act viewModel.PressTime = 100; }
public void ThemeIndex_ShouldSetThemeToDark_WhenSuccessful() { // Assert // Initialize mock function of sending IPC message. Func <string, int> SendMockIPCConfigMSG = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); Assert.AreEqual("dark", snd.Powertoys.ShortcutGuide.Properties.Theme.Value); return(0); }; // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(SendMockIPCConfigMSG, ShortCutGuideTestFolderName); Assert.AreEqual(1, viewModel.ThemeIndex); // Act viewModel.ThemeIndex = 0; }
public void ThemeIndexShouldSetThemeToDarkWhenSuccessful() { // Assert // Initialize mock function of sending IPC message. Func <string, int> SendMockIPCConfigMSG = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); Assert.AreEqual("dark", snd.Powertoys.ShortcutGuide.Properties.Theme.Value); return(0); }; // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), SendMockIPCConfigMSG, ShortCutGuideTestFolderName); // Initialize shortcut guide settings theme to 'system' to be in sync with shortcut_guide.h. Assert.AreEqual(2, viewModel.ThemeIndex); // Act viewModel.ThemeIndex = 0; }
public void OverlayOpacityShouldSeOverlayOpacityToOneHundredWhenSuccessful() { // Assert // Initialize mock function of sending IPC message. Func <string, int> SendMockIPCConfigMSG = msg => { ShortcutGuideSettingsIPCMessage snd = JsonSerializer.Deserialize <ShortcutGuideSettingsIPCMessage>(msg); // Serialisation not working as expected in the test project: Assert.AreEqual(100, snd.Powertoys.ShortcutGuide.Properties.OverlayOpacity.Value); return(0); }; // Arrange ShortcutGuideViewModel viewModel = new ShortcutGuideViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <ShortcutGuideSettings> .GetInstance(mockShortcutGuideSettingsUtils.Object), SendMockIPCConfigMSG, ShortCutGuideTestFolderName); Assert.AreEqual(90, viewModel.OverlayOpacity); // Act viewModel.OverlayOpacity = 100; }