コード例 #1
0
 public FancyZonesPage()
 {
     InitializeComponent();
     var settingsUtils = new SettingsUtils();
     ViewModel = new FancyZonesViewModel(SettingsRepository<GeneralSettings>.GetInstance(settingsUtils), SettingsRepository<FancyZonesSettings>.GetInstance(settingsUtils), ShellPage.SendDefaultIPCMessage);
     DataContext = ViewModel;
 }
コード例 #2
0
        public FancyZonesPage()
        {
            InitializeComponent();
            var settingsUtils = new SettingsUtils(new SystemIOProvider());

            ViewModel   = new FancyZonesViewModel(settingsUtils, ShellPage.SendDefaultIPCMessage);
            DataContext = ViewModel;
        }
コード例 #3
0
        public void OriginalFilesModificationTest(string version, string fileName)
        {
            var settingPathMock = new Mock <ISettingsPath>();

            var fileMock          = BackCompatTestProperties.GetModuleIOProvider(version, FancyZonesSettings.ModuleName, fileName);
            var mockSettingsUtils = new SettingsUtils(fileMock.Object, settingPathMock.Object);
            FancyZonesSettings originalSettings = mockSettingsUtils.GetSettingsOrDefault <FancyZonesSettings>(FancyZonesSettings.ModuleName);

            var             mockGeneralIOProvider    = BackCompatTestProperties.GetGeneralSettingsIOProvider(version);
            var             mockGeneralSettingsUtils = new SettingsUtils(mockGeneralIOProvider.Object, settingPathMock.Object);
            GeneralSettings originalGeneralSettings  = mockGeneralSettingsUtils.GetSettingsOrDefault <GeneralSettings>();

            var generalSettingsRepository = new BackCompatTestProperties.MockSettingsRepository <GeneralSettings>(mockGeneralSettingsUtils);
            var fancyZonesRepository      = new BackCompatTestProperties.MockSettingsRepository <FancyZonesSettings>(mockSettingsUtils);

            // Initialise View Model with test Config files
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils, generalSettingsRepository, fancyZonesRepository, ColorPickerIsEnabledByDefault_IPC);

            // Verify that the old settings persisted
            Assert.AreEqual(originalGeneralSettings.Enabled.FancyZones, viewModel.IsEnabled);
            Assert.AreEqual(originalSettings.Properties.FancyzonesAppLastZoneMoveWindows.Value, viewModel.AppLastZoneMoveWindows);
            Assert.AreEqual(originalSettings.Properties.FancyzonesBorderColor.Value, viewModel.ZoneBorderColor);
            Assert.AreEqual(originalSettings.Properties.FancyzonesDisplayChangeMoveWindows.Value, viewModel.DisplayChangeMoveWindows);
            Assert.AreEqual(originalSettings.Properties.FancyzonesEditorHotkey.Value.ToString(), viewModel.EditorHotkey.ToString());
            Assert.AreEqual(originalSettings.Properties.FancyzonesWindowSwitching.Value, viewModel.WindowSwitching);
            Assert.AreEqual(originalSettings.Properties.FancyzonesNextTabHotkey.Value.ToString(), viewModel.NextTabHotkey.ToString());
            Assert.AreEqual(originalSettings.Properties.FancyzonesPrevTabHotkey.Value.ToString(), viewModel.PrevTabHotkey.ToString());
            Assert.AreEqual(originalSettings.Properties.FancyzonesExcludedApps.Value, viewModel.ExcludedApps);
            Assert.AreEqual(originalSettings.Properties.FancyzonesHighlightOpacity.Value, viewModel.HighlightOpacity);
            Assert.AreEqual(originalSettings.Properties.FancyzonesInActiveColor.Value, viewModel.ZoneInActiveColor);
            Assert.AreEqual(originalSettings.Properties.FancyzonesMakeDraggedWindowTransparent.Value, viewModel.MakeDraggedWindowsTransparent);
            Assert.AreEqual(originalSettings.Properties.FancyzonesMouseSwitch.Value, viewModel.MouseSwitch);
            Assert.AreEqual(originalSettings.Properties.FancyzonesMoveWindowsAcrossMonitors.Value, viewModel.MoveWindowsAcrossMonitors);
            Assert.AreEqual(originalSettings.Properties.FancyzonesMoveWindowsBasedOnPosition.Value, viewModel.MoveWindowsBasedOnPosition);
            Assert.AreEqual(originalSettings.Properties.FancyzonesOpenWindowOnActiveMonitor.Value, viewModel.OpenWindowOnActiveMonitor);
            Assert.AreEqual(originalSettings.Properties.FancyzonesOverrideSnapHotkeys.Value, viewModel.OverrideSnapHotkeys);
            Assert.AreEqual(originalSettings.Properties.FancyzonesRestoreSize.Value, viewModel.RestoreSize);
            Assert.AreEqual(originalSettings.Properties.FancyzonesShiftDrag.Value, viewModel.ShiftDrag);
            Assert.AreEqual(originalSettings.Properties.FancyzonesShowOnAllMonitors.Value, viewModel.ShowOnAllMonitors);
            Assert.AreEqual(originalSettings.Properties.FancyzonesSpanZonesAcrossMonitors.Value, viewModel.SpanZonesAcrossMonitors);
            Assert.AreEqual(originalSettings.Properties.FancyzonesZoneHighlightColor.Value, viewModel.ZoneHighlightColor);
            Assert.AreEqual(originalSettings.Properties.FancyzonesZoneSetChangeMoveWindows.Value, viewModel.ZoneSetChangeMoveWindows);
            Assert.AreEqual(originalSettings.Properties.UseCursorposEditorStartupscreen.Value, viewModel.UseCursorPosEditorStartupScreen);
            Assert.AreEqual(originalSettings.Properties.FancyzonesAllowPopupWindowSnap.Value, viewModel.AllowPopupWindowSnap);
            Assert.AreEqual(originalSettings.Properties.FancyzonesAllowChildWindowSnap.Value, viewModel.AllowChildWindowSnap);
            Assert.AreEqual(originalSettings.Properties.FancyzonesDisableRoundCornersOnSnap.Value, viewModel.DisableRoundCornersOnWindowSnap);

            // Verify that the stub file was used
            var expectedCallCount = 2;  // once via the view model, and once by the test (GetSettings<T>)

            BackCompatTestProperties.VerifyModuleIOProviderWasRead(fileMock, FancyZonesSettings.ModuleName, expectedCallCount);
            BackCompatTestProperties.VerifyGeneralSettingsIOProviderWasRead(mockGeneralIOProvider, expectedCallCount);
        }
コード例 #4
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        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<OutGoingGeneralSettings>(msg);
                Assert.IsFalse(snd.GeneralSettings.Enabled.FancyZones);
            };

            // act
            viewModel.IsEnabled = false;
        }
コード例 #5
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        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<FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.UseCursorposEditorStartupscreen.Value);
            };

            // act
            viewModel.UseCursorPosEditorStartupScreen = true;
        }
コード例 #6
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        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<FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual("#E1E1E1", snd.Powertoys.FancyZones.Properties.FancyzonesInActiveColor.Value);
            };

            // act
            viewModel.ZoneInActiveColor = Color.FromArgb(0, 225, 225, 225);
        }
コード例 #7
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        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<FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesMakeDraggedWindowTransparent.Value);
            };

            // act
            viewModel.MakeDraggedWindowsTransparent = true;
        }
コード例 #8
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        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<FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesDisplayChangeMoveWindows.Value);
            };

            // act
            viewModel.DisplayChangeMoveWindows = true;
        }
コード例 #9
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        public void ExcludedApps_ShouldSetColorValue2White_WhenSuccessful()
        {
            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel();
            Assert.AreEqual("", viewModel.ExcludedApps);

            // Assert
            ShellPage.DefaultSndMSGCallback = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize<FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual("Sample", snd.Powertoys.FancyZones.Properties.FancyzonesExcludedApps.Value);
            };

            // act
            viewModel.ExcludedApps = "Sample";
        }
コード例 #10
0
ファイル: FancyZones.cs プロジェクト: zhoucheng8023/PowerToys
        public void HighlightOpacity_ShouldSetOpacityValueTo60_WhenSuccessful()
        {
            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel();
            Assert.AreEqual(50, viewModel.HighlightOpacity);

            // Assert
            ShellPage.DefaultSndMSGCallback = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize<FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual(60, snd.Powertoys.FancyZones.Properties.FancyzonesHighlightOpacity.Value);
            };

            // act
            viewModel.HighlightOpacity = 60;
        }
コード例 #11
0
ファイル: FancyZones.cs プロジェクト: zavenanarsh/PowerToys
        public void IsEnabledShouldDisableModuleWhenSuccessful()
        {
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                OutGoingGeneralSettings snd = JsonSerializer.Deserialize <OutGoingGeneralSettings>(msg);
                Assert.IsFalse(snd.GeneralSettings.Enabled.FancyZones);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsTrue(viewModel.IsEnabled); // check if the module is enabled.

            // act
            viewModel.IsEnabled = false;
        }
コード例 #12
0
        public void UseCursorPosEditorStartupScreenShouldSetValue2FalseWhenSuccessful()
        {
            // Assert
            Func <string, int> sendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.UseCursorposEditorStartupscreen.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsTrue(viewModel.UseCursorPosEditorStartupScreen); // check if value was initialized to false.

            // act
            viewModel.UseCursorPosEditorStartupScreen = true;
        }
コード例 #13
0
        public void HighlightOpacityShouldSetOpacityValueTo60WhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(50, viewModel.HighlightOpacity);

            // act
            viewModel.HighlightOpacity = 60;

            // assert
            var expected = viewModel.HighlightOpacity;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesHighlightOpacity.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #14
0
        public void ZoneSetChangeFlashZonesShouldSetValue2FalseWhenSuccessful()
        {
            // Assert
            Func <string, int> sendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesMakeDraggedWindowTransparent.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.MakeDraggedWindowsTransparent); // check if value was initialized to false.

            // act
            viewModel.MakeDraggedWindowsTransparent = true;
        }
コード例 #15
0
        public void SpanZonesAcrossMonitorsShouldSetValue2TrueWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.SpanZonesAcrossMonitors); // check if value was initialized to false.

            // act
            viewModel.SpanZonesAcrossMonitors = true;

            // assert
            var expected = viewModel.SpanZonesAcrossMonitors;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesSpanZonesAcrossMonitors.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #16
0
ファイル: FancyZones.cs プロジェクト: u53r55/PowerToys
        public void MoveWindowsBasedOnPosition_ShouldSetValue2True_WhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesMoveWindowsBasedOnPosition.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(ISettingsUtilsMocks.GetStubSettingsUtils().Object, SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.MoveWindowsBasedOnPosition); // check if value was initialized to false.

            // act
            viewModel.MoveWindowsBasedOnPosition = true;
        }
コード例 #17
0
ファイル: FancyZones.cs プロジェクト: zhiles/PowerToys
        public void ZoneBorderColor_ShouldSetColorValue2White_WhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual("#FFFFFF", snd.Powertoys.FancyZones.Properties.FancyzonesBorderColor.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(ConfigDefaults.DefaultFancyzonesBorderColor, viewModel.ZoneBorderColor);

            // act
            viewModel.ZoneBorderColor = "#FFFFFF";
        }
コード例 #18
0
ファイル: FancyZones.cs プロジェクト: zavenanarsh/PowerToys
        public void ExcludedAppsShouldSetColorValue2WhiteWhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual("Sample", snd.Powertoys.FancyZones.Properties.FancyzonesExcludedApps.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(string.Empty, viewModel.ExcludedApps);

            // act
            viewModel.ExcludedApps = "Sample";
        }
コード例 #19
0
ファイル: FancyZones.cs プロジェクト: zavenanarsh/PowerToys
        public void HighlightOpacityShouldSetOpacityValueTo60WhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual(60, snd.Powertoys.FancyZones.Properties.FancyzonesHighlightOpacity.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(50, viewModel.HighlightOpacity);

            // act
            viewModel.HighlightOpacity = 60;
        }
コード例 #20
0
ファイル: FancyZones.cs プロジェクト: zavenanarsh/PowerToys
        public void ShowOnAllMonitorsShouldSetValue2TrueWhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesShowOnAllMonitors.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.ShowOnAllMonitors); // check if value was initialized to false.

            // act
            viewModel.ShowOnAllMonitors = true;
        }
コード例 #21
0
ファイル: FancyZones.cs プロジェクト: zavenanarsh/PowerToys
        public void ZoneInActiveColorShouldSetColorValue2WhiteWhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.AreEqual("#FFFFFF", snd.Powertoys.FancyZones.Properties.FancyzonesInActiveColor.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(ConfigDefaults.DefaultFancyZonesInActiveColor, viewModel.ZoneInActiveColor);

            // act
            viewModel.ZoneInActiveColor = "#FFFFFF";
        }
コード例 #22
0
        public void UseCursorPosEditorStartupScreenShouldSetValue2FalseWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsTrue(viewModel.UseCursorPosEditorStartupScreen); // check if value was initialized to false.

            // act
            viewModel.UseCursorPosEditorStartupScreen = true;

            // assert
            var expected = viewModel.UseCursorPosEditorStartupScreen;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.UseCursorposEditorStartupscreen.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #23
0
        public void FlashZonesOnQuickSwitchShouldSetValue2FalseWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsTrue(viewModel.FlashZonesOnQuickSwitch); // check if value was initialized to true.

            // act
            viewModel.FlashZonesOnQuickSwitch = false;

            // assert
            var expected = viewModel.FlashZonesOnQuickSwitch;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesFlashZonesOnQuickSwitch.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #24
0
ファイル: FancyZones.cs プロジェクト: zhiles/PowerToys
        public void OverrideSnapHotkeys_ShouldSetValue2True_WhenSuccessful()
        {
            // Assert
            Func <string, int> SendMockIPCConfigMSG = msg =>
            {
                FancyZonesSettingsIPCMessage snd = JsonSerializer.Deserialize <FancyZonesSettingsIPCMessage>(msg);
                Assert.IsTrue(snd.Powertoys.FancyZones.Properties.FancyzonesOverrideSnapHotkeys.Value);
                return(0);
            };

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(SendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.OverrideSnapHotkeys); // check if value was initialized to false.

            // act
            viewModel.OverrideSnapHotkeys = true;
        }
コード例 #25
0
        public void OverlappingZonesAlgorithmIndexShouldSetValue2AnotherWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(0, viewModel.OverlappingZonesAlgorithmIndex); // check if value was initialized to false.

            // act
            viewModel.OverlappingZonesAlgorithmIndex = 1;

            // assert
            var expected = viewModel.OverlappingZonesAlgorithmIndex;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesOverlappingZonesAlgorithm.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #26
0
        public void ZoneInActiveColorShouldSetColorValue2WhiteWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(ConfigDefaults.DefaultFancyZonesInActiveColor, viewModel.ZoneInActiveColor);

            // act
            viewModel.ZoneInActiveColor = "#FFFFFF";

            // assert
            var expected = viewModel.ZoneInActiveColor;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesInActiveColor.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #27
0
        public void ExcludedAppsShouldSetColorValue2WhiteWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.AreEqual(string.Empty, viewModel.ExcludedApps);

            // act
            viewModel.ExcludedApps = "Sample";

            // assert
            var expected = viewModel.ExcludedApps;
            var actual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesExcludedApps.Value;

            Assert.AreEqual(expected, actual);
        }
コード例 #28
0
        public void MoveWindowsBasedOnPositionShouldSetValue2TrueWhenSuccessful()
        {
            Mock <SettingsUtils> mockSettingsUtils = new Mock <SettingsUtils>();

            // arrange
            FancyZonesViewModel viewModel = new FancyZonesViewModel(mockSettingsUtils.Object, SettingsRepository <GeneralSettings> .GetInstance(mockGeneralSettingsUtils.Object), SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object), sendMockIPCConfigMSG, FancyZonesTestFolderName);

            Assert.IsFalse(viewModel.MoveWindowsBasedOnPosition); // check if value was initialized to false.
            Assert.IsTrue(viewModel.MoveWindowsBasedOnZoneIndex); // check if value was initialized to true.

            // act
            viewModel.MoveWindowsBasedOnPosition = true;

            // assert
            var basedOnPositionExpected = viewModel.MoveWindowsBasedOnPosition;
            var basedOnPositionActual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesMoveWindowsBasedOnPosition.Value;

            Assert.AreEqual(basedOnPositionExpected, basedOnPositionActual);

            var basedOnZoneIndexExpected = viewModel.MoveWindowsBasedOnZoneIndex;
            var basedOnZoneIndexActual   = SettingsRepository <FancyZonesSettings> .GetInstance(mockFancyZonesSettingsUtils.Object).SettingsConfig.Properties.FancyzonesMoveWindowsBasedOnPosition.Value;

            Assert.AreNotEqual(basedOnZoneIndexExpected, basedOnZoneIndexActual);
        }
コード例 #29
0
 public FancyZonesPage()
 {
     InitializeComponent();
     ViewModel            = new FancyZonesViewModel();
     MainView.DataContext = ViewModel;
 }
コード例 #30
0
 public FancyZonesPage()
 {
     this.InitializeComponent();
     ViewModel = new FancyZonesViewModel();
     this.FZSettingsView.DataContext = ViewModel;
 }