System.Xml.Tests.TCLineInfoProvider.Default_Custom_ValueForLineInfoProvider C# (CSharp) Méthode

Default_Custom_ValueForLineInfoProvider() private méthode

private Default_Custom_ValueForLineInfoProvider ( String param ) : void
param String
Résultat void
        public void Default_Custom_ValueForLineInfoProvider(String param)
        {
            string xmlSrc = "<root><foo>FooText</foo><bar>BarText</bar></root>";
            XmlSchemaInfo info = new XmlSchemaInfo();

            int lineNum = -1;
            int linePos = -1;

            XmlSchemaValidator val = CreateValidator(CreateSchemaSetFromXml(xmlSrc));

            switch (param)
            {
                case "default":
                    lineNum = 0;
                    linePos = 0;
                    break;

                case "custom":
                    lineNum = 1111;
                    linePos = 2222;
                    val.LineInfoProvider = new CDummyLineInfo(lineNum, linePos);
                    break;

                default:
                    Assert.True(false);
                    break;
            }

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

            Assert.Equal(val.LineInfoProvider.LineNumber, lineNum);
            Assert.Equal(val.LineInfoProvider.LinePosition, linePos);

            val.SkipToEndElement(info);
            try
            {
                val.ValidateElement("bar2", "", info);
                Assert.True(false);
            }
            catch (XmlSchemaValidationException e)
            {
                Assert.Equal(e.LineNumber, lineNum);
                Assert.Equal(e.LinePosition, linePos);
            }

            return;
        }