public void Navigation ()
{
document.LoadXml ("<foo><bar /><baz /></foo>");
navigator = document.DocumentElement.CreateNavigator ();
Assert.AreEqual ("foo", navigator.Name, "#1");
Assert.IsTrue (navigator.MoveToFirstChild (), "#2");
Assert.AreEqual ("bar", navigator.Name, "#3");
Assert.IsTrue (navigator.MoveToNext (), "#4");
Assert.AreEqual ("baz", navigator.Name, "#5");
Assert.IsTrue (!navigator.MoveToNext (), "#6");
Assert.AreEqual ("baz", navigator.Name, "#7");
Assert.IsTrue (navigator.MoveToPrevious (), "#8");
Assert.AreEqual ("bar", navigator.Name, "#9");
Assert.IsTrue (!navigator.MoveToPrevious (), "#10");
Assert.IsTrue (navigator.MoveToParent (), "#11");
Assert.AreEqual ("foo", navigator.Name, "#12");
navigator.MoveToRoot ();
Assert.AreEqual (XPathNodeType.Root, navigator.NodeType, "#13");
Assert.IsTrue (!navigator.MoveToParent (), "#14");
Assert.AreEqual (XPathNodeType.Root, navigator.NodeType, "#15");
Assert.IsTrue (navigator.MoveToFirstChild (), "#16");
Assert.AreEqual ("foo", navigator.Name, "#17");
Assert.IsTrue (navigator.MoveToFirst (), "#18");
Assert.AreEqual ("foo", navigator.Name, "#19");
Assert.IsTrue (navigator.MoveToFirstChild (), "#20");
Assert.AreEqual ("bar", navigator.Name, "#21");
Assert.IsTrue (navigator.MoveToNext (), "#22");
Assert.AreEqual ("baz", navigator.Name, "#23");
Assert.IsTrue (navigator.MoveToFirst (), "#24");
Assert.AreEqual ("bar", navigator.Name, "#25");
}