public void VerifyRemove()
        {
            const string key = "test";

            Assert.False(_settings.ContainsKey(key));
            _settings.SetValue(key, 42);
            Assert.True(_settings.ContainsKey(key));
            Assert.Equal(42, _settings.GetValue <int>(key));
            _settings.Remove(key);
            Assert.False(_settings.ContainsKey(key));
        }
        public void VerifyThatCorruptedConfigRestored()
        {
            _settings.SetValue("old", "value");
            _settings.Remove("old");
            var expectedLines  = File.ReadAllLines(DefaultApplicationSettings.FilePath);
            var corruptedLines = new string[expectedLines.Length - 2];

            Array.Copy(expectedLines, 0, corruptedLines, 0, corruptedLines.Length);
            File.WriteAllLines(DefaultApplicationSettings.FilePath, corruptedLines);
            _settings = new DefaultApplicationSettings();
            _settings.SetValue("old", "value");
            _settings.Remove("old");
            var actualLines = File.ReadAllLines(DefaultApplicationSettings.FilePath);

            Assert.Equal(expectedLines, actualLines);
        }