System.Xml.Tests.TCLineInfoProvider.XmlReaderAsALineInfoProvider C# (CSharp) Method

XmlReaderAsALineInfoProvider() private method

private XmlReaderAsALineInfoProvider ( ) : void
return void
        public void XmlReaderAsALineInfoProvider()
        {
            string xmlSrc = "<root>\n" +
                            "  <foo>\n" +
                            "    FooText\n" +
                            "  </foo>\n" +
                            "</root>";
            XmlSchemaInfo info = new XmlSchemaInfo();

            XmlSchemaValidator val = CreateValidator(CreateSchemaSetFromXml(xmlSrc));
            XmlReader r = XmlReader.Create(new StringReader(xmlSrc));

            val.LineInfoProvider = (r as IXmlLineInfo);

            val.Initialize();
            r.ReadStartElement("root");
            val.ValidateElement("root", "", info);
            val.ValidateEndOfAttributes(null);

            try
            {
                r.ReadStartElement("foo");
                val.ValidateElement("bar", "", info);
                Assert.True(false);
            }
            catch (XmlSchemaValidationException e)
            {
                Assert.Equal(e.LineNumber, 2);
                Assert.Equal(e.LinePosition, 8);
            }

            return;
        }
    }