public void CallForChoice_Before_After_ValidatingWildcard(String callOrder)
{
XmlSchemaValidator val;
XmlSchemaInfo info = new XmlSchemaInfo();
XmlSchemaSet schemas = new XmlSchemaSet();
XmlSchemaParticle[] result;
schemas.Add("", Path.Combine(TestData, XSDFILE_GET_EXPECTED_PARTICLES));
schemas.Add("uri:tempuri", Path.Combine(TestData, XSDFILE_TARGET_NAMESPACE));
val = CreateValidator(schemas);
val.Initialize();
val.ValidateElement("ChoiceWildcardElement", "", info);
val.ValidateEndOfAttributes(null);
if (callOrder == "before")
{
result = val.GetExpectedParticles();
Assert.Equal(result.Length, 2);
if (result[0] is XmlSchemaAny)
{
Assert.Equal((result[0] as XmlSchemaAny).Namespace, "uri:tempuri");
Assert.Equal((result[0] as XmlSchemaAny).ProcessContents, XmlSchemaContentProcessing.Strict);
Assert.True(result[1] is XmlSchemaElement);
Assert.Equal((result[1] as XmlSchemaElement).QualifiedName, new XmlQualifiedName("foo"));
}
else
{
Assert.True(result[1] is XmlSchemaAny);
Assert.Equal((result[1] as XmlSchemaAny).Namespace, "uri:tempuri");
Assert.Equal((result[1] as XmlSchemaAny).ProcessContents, XmlSchemaContentProcessing.Strict);
Assert.True(result[0] is XmlSchemaElement);
Assert.Equal((result[0] as XmlSchemaElement).QualifiedName, new XmlQualifiedName("foo"));
}
}
else
{
val.ValidateElement("elem1", "uri:tempuri", info);
val.SkipToEndElement(info);
CheckExpectedElements(val.GetExpectedParticles(), new XmlQualifiedName[] { });
}
return;
}