public void TestGotoTowardChild() { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(GenerateHtmlPageForGotoTests()); HtmlNode firstDivNode = doc.DocumentNode.SelectSingleNode("//div"); AbstractXPathBuilder divBuilder = new HtmlXPathBuilder(); divBuilder.Build(firstDivNode); Assert.AreEqual <string>("/html/body/div", divBuilder.ToString()); HtmlNode firstH1Node = doc.DocumentNode.SelectSingleNode("//h1"); AbstractXPathBuilder h1Builder = new HtmlXPathBuilder(); h1Builder.Build(firstH1Node); Assert.AreEqual <string>("/html/body/div/h1", h1Builder.ToString()); int score = divBuilder.Goto(h1Builder); Assert.AreEqual <string>("./h1", divBuilder.ToString()); Assert.AreEqual(1, score); }
public void TestSingularAndImportantAttributeOptimization() { HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(GenerateHtmlPageForGotoTests()); HtmlNode firstDivNode = doc.DocumentNode.SelectSingleNode("//h1"); AbstractXPathBuilder divBuilder = new HtmlXPathBuilder(); divBuilder.Build(firstDivNode); divBuilder.Optimize(); Assert.AreEqual <string>("//h1[@id=\"list1\"]", divBuilder.ToString()); }