// // MonoTests.System.Xml.XPathNavigatorMatchesTests // // Authors: // Jason Diamond // Martin Willemoes Hansen // // (C) 2002 Jason Diamond // (C) 2003 Martin Willemoes Hansen // using System; using System.Xml; using System.Xml.XPath; using NUnit.Framework; namespace MonoTests.System.Xml { [TestFixture] public class XPathNavigatorMatchesTests : Assertion { [Test] public void MatchRoot () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.CreateNavigator (); Assert (navigator.Matches ("/")); } [Test] public void FalseMatchRoot () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.CreateNavigator (); Assert (!navigator.Matches ("foo")); } [Test] public void MatchDocumentElement () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.CreateNavigator (); Assert (navigator.Matches ("foo")); } [Test] public void MatchAbsoluteDocumentElement () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.CreateNavigator (); Assert (navigator.Matches ("/foo")); } [Test] public void MatchDocumentElementChild () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.FirstChild.CreateNavigator (); Assert (navigator.Matches ("bar")); Assert (navigator.Matches ("foo/bar")); } [Test] public void MatchAttribute () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.Attributes[0].CreateNavigator (); Assert (navigator.Matches ("@bar")); Assert (navigator.Matches ("foo/@bar")); } [Test] public void SlashSlash () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.FirstChild.FirstChild.CreateNavigator (); Assert (navigator.Matches ("foo//baz")); } [Test] public void AbsoluteSlashSlash () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.FirstChild.FirstChild.CreateNavigator (); Assert (navigator.Matches ("//baz")); } [Test] public void MatchDocumentElementWithPredicate () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.CreateNavigator (); Assert (navigator.Matches ("foo[bar]")); } [Test] public void FalseMatchDocumentElementWithPredicate () { XmlDocument document = new XmlDocument (); document.LoadXml (""); XPathNavigator navigator = document.DocumentElement.CreateNavigator (); Assert (!navigator.Matches ("foo[baz]")); } } }