예제 #1
0
        public void SettingsAreCorrectlyLoaded()
        {
            // Arrange
            const string fileName = "WindowSettingsTests.SettingsAreCorrectlyLoaded";

            var settings = new WindowSettings
            {
                Width  = 1,
                Height = 2,
                Left   = 3,
                Top    = 4,
                State  = WindowState.Maximized
            };

            File.WriteAllText(fileName, JsonConvert.SerializeObject(settings));

            // Act
            var loaded = WindowSettings.Load(fileName);

            // Assert
            Assert.AreEqual(1.0, loaded.Width);
            Assert.AreEqual(2.0, loaded.Height);
            Assert.AreEqual(3.0, loaded.Left);
            Assert.AreEqual(4.0, loaded.Top);
            Assert.AreEqual(WindowState.Maximized, loaded.State);
        }
예제 #2
0
        public void LoadingFromNonExistingFileReturnsNull()
        {
            // Act
            var loaded = WindowSettings.Load("non.existing");

            // Assert
            Assert.IsNull(loaded);
        }
예제 #3
0
        internal static void ApplyWindowSettings(Window window)
        {
            WindowSettings = WindowSettings.Load(Constants.IO.WindowSettingsFileName);
            WindowSettings?.Apply(new WindowWrapper(window));

            // Default settings contain no width or height so instanciate them only AFTER setting the
            // position otherwise the window would disappear
            if (WindowSettings == null)
            {
                WindowSettings = new WindowSettings();
            }
        }