Esempio n. 1
0
        public void Constructor_NonXsltElementNameNoNamespace_SetsXsltElementTypeAndXslNamespaceToNone()
        {
            var xslElement = new XsltElement("whatever");

            Assert.Equal(XsltElementType.None, xslElement.XsltElementType);
            Assert.Equal(XNamespace.None, xslElement.Name.Namespace);
        }
Esempio n. 2
0
        public void Constructor_XsltElementNameNoNamespace_SetsXsltElementTypeAndXslNamespace()
        {
            var xslElement = new XsltElement("element");

            Assert.Equal(XsltElementType.Element, xslElement.XsltElementType);
            Assert.Equal(XsltElement.XslNamespace, xslElement.Name.Namespace);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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());
        }
Esempio n. 6
0
 public static void AddXsltElement(this XElement element, XsltElement transformElement)
 {
     if (transformElement.XsltElementType == XsltElementType.Attribute)
     {
         element.AddFirst(transformElement);
     }
     else
     {
         element.Add(transformElement);
     }
 }
Esempio n. 7
0
        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());
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        public void Constructor_XsltElementNameXmlNamespace_SetsXsltElementTypeToDefault()
        {
            var xslElement = new XsltElement(XNamespace.Xml + "element");

            Assert.Equal(XsltElementType.None, xslElement.XsltElementType);
        }
Esempio n. 12
0
 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)));
 }
Esempio n. 13
0
        public static XsltElement FirstOrDefaultXsltElement(this XsltElement root, XsltElement element)
        {
            var elementName = element.Attribute("name")?.Value;

            return(root.FirstOrDefaultXsltElement(elementName));
        }
Esempio n. 14
0
 public static XsltElement GetPathEndpoint(this XsltElement rootElement, IEnumerable <XsltElement> pathPartElements) =>
 pathPartElements.Aggregate(rootElement, GetPathPartElement);
Esempio n. 15
0
 public static XsltElement GetPathPartElement(XsltElement parentElement, XsltElement pathPartElement) =>
 parentElement.FirstOrDefaultXsltElement(pathPartElement) ??
 parentElement.AddAndReturnChild(pathPartElement);
Esempio n. 16
0
 public static XsltElement AddAndReturnChild(this XsltElement parent, XsltElement child)
 {
     parent.Add(child);
     return(child);
 }
Esempio n. 17
0
        public void Constructor_XsltElementType_TypeSetCorrectly(XsltElementType xsltElementType)
        {
            var xsltElement = new XsltElement(xsltElementType);

            Assert.Equal(xsltElementType, xsltElement.XsltElementType);
        }
Esempio n. 18
0
        public void Constructor_XsltElementNameXslNamespace_SetsXsltElementType()
        {
            var xslElement = new XsltElement(XsltElement.XslNamespace + "element");

            Assert.Equal(XsltElementType.Element, xslElement.XsltElementType);
        }