public void Constructor_NonXsltElementNameNoNamespace_SetsXsltElementTypeAndXslNamespaceToNone() { var xslElement = new XsltElement("whatever"); Assert.Equal(XsltElementType.None, xslElement.XsltElementType); Assert.Equal(XNamespace.None, xslElement.Name.Namespace); }
public void Constructor_XsltElementNameNoNamespace_SetsXsltElementTypeAndXslNamespace() { var xslElement = new XsltElement("element"); Assert.Equal(XsltElementType.Element, xslElement.XsltElementType); Assert.Equal(XsltElement.XslNamespace, xslElement.Name.Namespace); }
public void Constructor_XsltElementType_SetsXsltElementTypeAndXslNamespace() { var type = XsltElementType.ApplyImports; var xslElement = new XsltElement(type); Assert.Equal(type, xslElement.XsltElementType); Assert.Equal(XsltElement.XslNamespace, xslElement.Name.Namespace); }
public void AddAndReturnChild_Elements_AddChildToParent() { var parent = new XsltElement("Parent"); var child = new XsltElement("Child"); var returnedElement = parent.AddAndReturnChild(child); Assert.Same(child, returnedElement); Assert.Contains(parent.Elements(), e => e == child); Assert.Same(parent, child.Parent); }
public void AddXsltElement_Element_AddsToEnd() { var firstChild = new XsltElement("FirstChild"); var secondChild = new XsltElement("SecondChild"); var parentElement = new XsltElement("Parent", firstChild, secondChild); var addedElement = new XsltElement("ElementContentType"); parentElement.AddXsltElement(addedElement); Assert.Same(addedElement, parentElement.Elements().Last()); }
public static void AddXsltElement(this XElement element, XsltElement transformElement) { if (transformElement.XsltElementType == XsltElementType.Attribute) { element.AddFirst(transformElement); } else { element.Add(transformElement); } }
public void AddXsltElement_Attribute_AddsFirst() { var firstChild = new XsltElement("FirstChild"); var secondChild = new XsltElement("SecondChild"); var parentElement = new XsltElement("Parent", firstChild, secondChild); var addedElement = new XsltElement(XsltElementType.Attribute, new XAttribute("name", "AttributeContentType")); parentElement.AddXsltElement(addedElement); Assert.Same(addedElement, parentElement.Elements().First()); }
public static void AddOrUpdateOutputElements(this XsltElement root, XsltElement outputElement) { var existingElement = root.FirstOrDefaultXsltElement(outputElement); if (existingElement != null) { existingElement.Add(outputElement.XsltElements()); return; } root.AddXsltElement(outputElement); }
public void FirstOrDefaultXsltElement_Element_ReturnsFirstElement() { var parent = new XsltElement("Parent"); var childName = "testName"; var child = new XsltElement("element", new XAttribute("name", childName)); parent.Add(child); var foundElement = parent.FirstOrDefaultXsltElement(child); Assert.Same(child, foundElement); }
public void FirstOrDefaultXsltElement_ElementName_ReturnsNull() { var parent = new XsltElement("Parent"); var childName = "testName"; var child = new XsltElement("element", new XAttribute("name", childName)); parent.Add(child); var foundElement = parent.FirstOrDefaultXsltElement("someOtherName"); Assert.Null(foundElement); }
public void Constructor_XsltElementNameXmlNamespace_SetsXsltElementTypeToDefault() { var xslElement = new XsltElement(XNamespace.Xml + "element"); Assert.Equal(XsltElementType.None, xslElement.XsltElementType); }
public static XsltElement FirstOrDefaultXsltElement(this XsltElement root, string elementName) { return(root?.XsltElements().FirstOrDefault(e => e.XsltElementType == XsltElementType.Element && e.Attributes() .Any(a => a.Name == "name" && a.Value == elementName))); }
public static XsltElement FirstOrDefaultXsltElement(this XsltElement root, XsltElement element) { var elementName = element.Attribute("name")?.Value; return(root.FirstOrDefaultXsltElement(elementName)); }
public static XsltElement GetPathEndpoint(this XsltElement rootElement, IEnumerable <XsltElement> pathPartElements) => pathPartElements.Aggregate(rootElement, GetPathPartElement);
public static XsltElement GetPathPartElement(XsltElement parentElement, XsltElement pathPartElement) => parentElement.FirstOrDefaultXsltElement(pathPartElement) ?? parentElement.AddAndReturnChild(pathPartElement);
public static XsltElement AddAndReturnChild(this XsltElement parent, XsltElement child) { parent.Add(child); return(child); }
public void Constructor_XsltElementType_TypeSetCorrectly(XsltElementType xsltElementType) { var xsltElement = new XsltElement(xsltElementType); Assert.Equal(xsltElementType, xsltElement.XsltElementType); }
public void Constructor_XsltElementNameXslNamespace_SetsXsltElementType() { var xslElement = new XsltElement(XsltElement.XslNamespace + "element"); Assert.Equal(XsltElementType.Element, xslElement.XsltElementType); }