public void AddAppenderRefToNode_ShouldSaveRef_WhenNoneExist() { XmlDocument xmlDoc = new XmlDocument(); XmlElement loggerElement = xmlDoc.CreateElement("logger"); const string appenderName = "appenderName"; XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerElement, appenderName); XmlNodeList appenderRefs = loggerElement.SelectNodes($"appender-ref[@ref='{appenderName}']"); Assert.IsNotNull(appenderRefs); Assert.AreEqual(1, appenderRefs.Count); }
public void AddAppenderRefToNode_ShouldNotDuplicateExistingRef() { XmlDocument xmlDoc = new XmlDocument(); XmlElement loggerElement = xmlDoc.CreateElement("logger"); const string appenderName = "appenderName"; xmlDoc.CreateElementWithAttribute("appender-ref", "ref", appenderName).AppendTo(loggerElement); XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerElement, appenderName); XmlNodeList appenderRefs = loggerElement.SelectNodes($"appender-ref[@ref='{appenderName}']"); Assert.IsNotNull(appenderRefs); Assert.AreEqual(1, appenderRefs.Count); }
public override void Save(XmlDocument xmlDoc, XmlNode newNode) { foreach (IAcceptAppenderRef loggerModel in RefsCollection) { if (loggerModel.IsEnabled) { if (mNameProperty.Changed.IsTrue()) { RemoveOldRefsFrom(loggerModel, mNameProperty.OriginalName); } XmlUtilities.AddAppenderRefToNode(xmlDoc, loggerModel.Node, mNameProperty.Value); } else { RemoveOldRefsFrom(loggerModel, mNameProperty.Changed.IsTrue() ? mNameProperty.OriginalName : mNameProperty.Value); } } }