public void FillInObservesElementIndexing() { XmlDocumentAlterer docAlter = new XmlDocumentAlterer(); Expression xpath1 = new Expression("/root/a[1]/b"); Expression xpath2 = new Expression("/root/a[2]/c"); docAlter.FillIn(xpath1); docAlter.FillIn(xpath2); Assert.AreEqual("root", docAlter.Document.DocumentElement.Name); Assert.AreEqual(2, docAlter.Document.DocumentElement.ChildNodes.Count); Assert.AreEqual("a", docAlter.Document.DocumentElement.ChildNodes[0].Name); Assert.AreEqual("b", docAlter.Document.DocumentElement.ChildNodes[0].FirstChild.Name); Assert.AreEqual("a", docAlter.Document.DocumentElement.ChildNodes[1].Name); Assert.AreEqual("c", docAlter.Document.DocumentElement.ChildNodes[1].FirstChild.Name); }
public void FillInInvalidNodeFails() { XmlDocumentAlterer docAlterer = new XmlDocumentAlterer(); Expression xpath1 = new Expression("/root/a/@b/c"); docAlterer.FillIn(xpath1); }
public void FillInCreatesNodes() { XmlDocumentAlterer docAlter = new XmlDocumentAlterer(); Expression xpath = new Expression("/root"); docAlter.FillIn(xpath); Assert.AreEqual("root", docAlter.Document.DocumentElement.Name); }
public void FillInWorksForAttributes() { XmlDocumentAlterer docAlter = new XmlDocumentAlterer(); Expression xpath = new Expression("/root/@attr"); docAlter.FillIn(xpath); Assert.AreEqual("root", docAlter.Document.DocumentElement.Name); Assert.AreEqual("attr", docAlter.Document.DocumentElement.Attributes[0].Name); }
public void FillInAssumesPredicates() { XmlDocumentAlterer docAlter = new XmlDocumentAlterer(); Expression xpath = new Expression("/root/a[@id=3]/b"); docAlter.FillIn(xpath); Assert.AreEqual("root", docAlter.Document.DocumentElement.Name); Assert.AreEqual("a", docAlter.Document.DocumentElement.FirstChild.Name); Assert.AreEqual("id", docAlter.Document.DocumentElement.FirstChild.Attributes[0].Name); Assert.AreEqual("3", docAlter.Document.DocumentElement.FirstChild.Attributes[0].Value); Assert.AreEqual("b", docAlter.Document.DocumentElement.FirstChild.FirstChild.Name); }
public void FillInWorksSeveralLevelsDeep() { XmlDocumentAlterer docAlter = new XmlDocumentAlterer(); Expression xpath = new Expression("/root/a/b/c/d"); docAlter.FillIn(xpath); Assert.AreEqual("root", docAlter.Document.DocumentElement.Name); Assert.AreEqual("a", docAlter.Document.DocumentElement.FirstChild.Name); Assert.AreEqual("b", docAlter.Document.DocumentElement.FirstChild.FirstChild.Name); Assert.AreEqual("c", docAlter.Document.DocumentElement.FirstChild.FirstChild.FirstChild.Name); Assert.AreEqual("d", docAlter.Document.DocumentElement.FirstChild.FirstChild.FirstChild.FirstChild.Name); }
public void AddingANamespaceAddsItToTheDocument() { XmlDocumentAlterer docAlterer = new XmlDocumentAlterer(); docAlterer.AddNamespace("ns0", "http://www.ns0.com"); docAlterer.FillIn(new Expression("/root/a/b/c")); docAlterer.FillIn(new Expression("/root/a/b/d")); docAlterer.FillIn(new Expression("/root/a/b/e")); docAlterer.FillIn(new Expression("/root/a/f/g")); docAlterer.FillIn(new Expression("/root/a/f/h")); docAlterer.FillIn(new Expression("/root/a/f/i")); }