/// <summary> /// 配置文件监视测试 /// </summary> private void fileWatchTest(string file) { //生成设置提供器 var settingProvider = Factory.Create <TestSetting>(file); //获取第一次数据 var settingS = settingProvider.GetSettingsObject(); var ib = settingS.IntB; //生成更改数据 var setT = new TestSetting { IntB = settingS.IntB + 1, StrA = settingS.StrA, }; Assert.IsNotNull((settingProvider as DefaultJsonFileSettingsProvider <TestSetting>).Settings); //更改配置文件 settingProvider.SaveSettings(setT); Thread.Sleep(1); //更改后,第一次读取前,缓冲为空 Assert.IsNull((settingProvider as DefaultJsonFileSettingsProvider <TestSetting>).Settings); //第二次读取配置 var set2 = settingProvider.GetSettingsObject(); //测试读取数据是否正确 Assert.AreEqual(set2.IntB, settingS.IntB + 1); //释放资源 if (settingProvider is IDisposable dis) { dis.Dispose(); } }
/// <summary> /// 一般写入读取测试 /// </summary> private static void saveLoadTest(string file) { //测试写入 ISaveSettings <TestSetting> setting = Factory.Create <TestSetting>(file); setting.SaveSettings(new TestSetting()); if (setting is IDisposable dis) { dis.Dispose(); } //测试读取 IGetSettins <TestSetting> set = Factory.Create <TestSetting>(file); var obj = set.GetSettingsObject(); var objT = new TestSetting(); foreach (var p in typeof(TestSetting).GetProperties()) { var pv = p.GetValue(obj); var pvt = p.GetValue(objT); Assert.AreEqual(pv, pvt); } if (set is IDisposable disG) { disG.Dispose(); } }
/// <summary> /// 测试数组写入与读取 /// </summary> /// <param name="file"></param> private void dataArrayTest(string file) { var provider = Factory.Create <TestSetting>(file); var set = new TestSetting { Array = new string[] { "abc", "123" }, }; provider.SaveSettings(set); var set2 = provider.GetSettingsObject(); Assert.AreEqual("abc", set2.Array[0]); Assert.AreEqual("123", set2.Array[1]); //释放资源 if (provider is IDisposable dis) { dis.Dispose(); } }
/// <summary> /// 测试列表写入与读取 /// </summary> /// <param name="file"></param> private void dataListTest(string file) { var provider = Factory.Create <TestSetting>(file); var set = new TestSetting { List = new System.Collections.Generic.List <string> { "abc", "123" }, }; provider.SaveSettings(set); var set2 = provider.GetSettingsObject(); Assert.AreEqual("abc", set2.List.ToArray()[0]); Assert.AreEqual("123", set2.List.ToArray()[1]); //释放资源 if (provider is IDisposable dis) { dis.Dispose(); } }