bovender framework
C# framework that implements MVVM and more
UserSettingsTest.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.IO;
6 using NUnit.Framework;
8 
9 namespace Bovender.UnitTests.UserSettings
10 {
11  [TestFixture]
13  {
14  [Test]
15  public void WriteSettings()
16  {
17  UserSettings o = new UserSettings();
18  o.Save();
19  string yaml = File.ReadAllText(UserSettings.SettingsFileName);
20  Assert.IsTrue(yaml.Contains("LastVersionSeen:"));
21  }
22 
23  [Test]
24  public void LoadSettings()
25  {
26  string fn = UserSettings.SettingsFileName;
27  string yaml = "# Comment\nLastVersionSeen:\n Major: 3\n Minor: 2\n Patch: 1\n";
28  File.WriteAllText(fn, yaml);
29  UserSettings o = UserSettings.FromFileOrDefault();
30  Assert.IsNull(o.Exception);
31  Assert.IsTrue(o.WasFromFile);
32  Assert.AreEqual("3.2.1", o.LastVersionSeen.ToString());
33  }
34 
35  [Test]
36  public void LoadCorruptedSettings()
37  {
38  string fn = UserSettings.SettingsFileName;
39  string yaml = "LastVersionSeen:\n Major: this_should_be_a_number\n Minor: 2\n Patch: 1\n";
40  File.WriteAllText(fn, yaml);
41  UserSettings o = UserSettings.FromFileOrDefault();
42  Assert.IsNotNull(o.Exception);
43  Assert.IsInstanceOf<YamlDotNet.Core.YamlException>(o.Exception);
44  Assert.IsFalse(o.WasFromFile);
45  }
46  }
47 }
void Save()
Saves the user settings to a file.
bool WasFromFile
Is true if the options store was initially loaded from a YAML file.
Exception Exception
Gets the last IOException, if any occurred.