public void TypeConverterが取得できない型の場合エラーを出す() { var settings = new FishSettingsBase(); Assert.Throws<ArgumentException>(() => { settings.CreateNewItem("a", new AAA()); }); settings.CreateNewItem("b", "aaaa"); Assert.AreEqual("aaaa", settings["b"]); }
public void Test1() { using (var tempFile = new TempFile()) { { var settings = new FishSettingsBase(); Assert.Throws<ArgumentException>(() => { settings.SetValue("a", 10); }); Assert.Throws<ArgumentException>(() => { settings.GetValue("a"); }); Assert.Throws<ArgumentException>(() => { settings.CreateNewItem("", 9); }); Assert.Throws<ArgumentException>(() => { settings.CreateNewItem(" ", 9); }); Assert.Throws<ArgumentException>(() => { settings.CreateNewItem(null, 9); }); settings.CreateNewItem("a", 10); Assert.AreEqual(10, settings.GetValue("a")); // 重複して項目が追加されたらスルー、デフォルト値は更新 settings.CreateNewItem("a", 100); Assert.AreEqual(100, settings.GetDefaultValue("a")); settings.CreateNewItem("a", 10); settings.SetValue("a", 11); Assert.AreEqual(11, settings.GetValue("a")); Assert.AreEqual(11, settings["a"]); settings["a"] = 12; Assert.AreEqual(12, settings["a"]); Assert.AreEqual(10, settings.GetDefaultValue("a")); Assert.Throws<ArgumentException>(() => { settings.SetValue("a", "v0"); }); settings.CreateNewItem("b", "v1"); Assert.AreEqual("v1", settings.GetValue("b")); settings.SetValue("b", "v2"); Assert.AreEqual("v2", settings.GetValue("b")); Assert.AreEqual("", settings.Name); Assert.AreEqual("1", settings.Version); settings.Name = "name0"; settings.Version = "1.1"; settings.Save(tempFile.Name); } { var settings = FishSettingsBase.Load(tempFile.Name, "name0"); Assert.AreEqual(12, settings["a"]); Assert.AreEqual(10, settings.GetDefaultValue("a")); Assert.AreEqual("v2", settings["b"]); Assert.AreEqual("v1", settings.GetDefaultValue("b")); } } }