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 TransferNoJson_MustReturnNull()
        {
            var root      = CreateRoot(out var fn);
            var condition = new JsonChangeTransferCondition();
            var prov      = new NullConfigurationProvider();
            var rep       = new ChangeReport(root, prov, new ConfigurationChangeInfo[0]);
            var val       = condition.GetTransfe(rep);

            Assert.IsNull(val);
            var f = new JsonConfigurationProvider(new JsonConfigurationSource
            {
                Path = "a.xml"
            });

            rep = new ChangeReport(root, f, new ConfigurationChangeInfo[0]);
            val = condition.GetTransfe(rep);
            Assert.IsNull(val);
        }