public void TransferChanged_SaveIt_ButFileNotFound_MustWrited() { var root = CreateRoot(out var fn); File.Delete(Path.Combine(SettingPath, fn)); var condition = new JsonChangeTransferCondition(); var prov = root.Providers.First(); var changeInfos = new ConfigurationChangeInfo[] { new ConfigurationChangeInfo { IsCreate = false, Key = "Title", New = "world", Old = "Hello", Provider = prov, Sender = root } }; var rep = new ChangeReport(root, prov, changeInfos); var transfer = condition.GetTransfe(rep); Assert.IsNotNull(transfer); _ = transfer.Transfe(rep); }
public void TransferChanged_SaveIt_MustWrited() { var root = CreateRoot(out var fn); var condition = new JsonChangeTransferCondition(); var prov = root.Providers.First(); var changeInfos = new ConfigurationChangeInfo[] { new ConfigurationChangeInfo { IsCreate = false, Key = "Title", New = "world", Old = "Hello", Provider = prov, Sender = root } }; var rep = new ChangeReport(root, prov, changeInfos); var transfer = condition.GetTransfe(rep); Assert.IsNotNull(transfer); var t = transfer.Transfe(rep); condition.Save(rep, t); var destFile = File.ReadAllText(Path.Combine(SettingPath, fn)); var jobj = System.Text.Json.Nodes.JsonNode.Parse(destFile); var oldTitle = jobj["Title"]; Assert.AreEqual("world", oldTitle.ToString()); }
public void New() { var config = new ConfigurationBuilder().Build(); var changeInfo = new ConfigurationChangeInfo(); var val = new ChangeValueInfo(config, changeInfo, ConfigurationTypes.Array, true); Assert.AreEqual(config, val.Configuration); Assert.AreEqual(changeInfo, val.Info); Assert.AreEqual(ConfigurationTypes.Array, val.TypeCode); Assert.IsTrue(val.IsArray); }
public void CreateUndo_NewAndOldMustBeRev() { var info = new ConfigurationChangeInfo { New = "a", Old = "b" }; var ud = ConfigurationChangeInfoExtensions.CreateUndo(info); Assert.AreEqual("a", ud.Old); Assert.AreEqual("b", ud.New); }
public void Undo_ValueMustSet() { var builder = new ConfigurationBuilder(); builder.AddInMemoryCollection(); var root = builder.BuildSavable(); var info = new ConfigurationChangeInfo { Key = "hello", New = "a", Old = "b", Provider = root.Providers.First() }; ConfigurationChangeInfoExtensions.Undo(info); var val = root["hello"]; Assert.AreEqual("b", val); }
private void Agent_Updated(ConfigurationChangeInfo info) { // A configuration agent has updated! _updated.OnNext(info); }