System.Xml.Tests.TCValidationEventHandling.Default_Null_ArbitraryObject_XmlReader_XmlDocument_XPathNavigator_ProvidedAsValidationEventSender C# (CSharp) Méthode

Default_Null_ArbitraryObject_XmlReader_XmlDocument_XPathNavigator_ProvidedAsValidationEventSender() private méthode

        public void Default_Null_ArbitraryObject_XmlReader_XmlDocument_XPathNavigator_ProvidedAsValidationEventSender(String param)
        {
            XmlSchemaInfo info = new XmlSchemaInfo();
            XmlSchemaValidator val = CreateValidator(CreateSchemaSetFromXml("<root>foo</root>"));
            CValidationEventHolder holder = new CValidationEventHolder();
            object sender = null;

            val.ValidationEventHandler += new ValidationEventHandler(holder.CallbackA);

            switch (param)
            {
                case "default":
                    sender = val;
                    break;

                case "null":
                    sender = null;
                    break;

                case "arbitrary":
                    sender = new ArrayList();
                    break;

                case "reader":
                    sender = XmlReader.Create(new StringReader("<root/>"));
                    break;

                case "document":
                    sender = new XmlDocument();
                    break;

                case "navigator":
                    XmlDocument d = new XmlDocument();
                    sender = d.CreateNavigator();
                    break;

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

            if (param != "default")
                val.ValidationEventSender = sender;

            val.Initialize();
            val.ValidateElement("bar", "", info);

            Assert.True(holder.IsCalledA);
            Assert.Equal(sender, holder.lastObjectSent);

            return;
        }