本文整理汇总了C#中Schema.Arbitrary方法的典型用法代码示例。如果您正苦于以下问题:C# Schema.Arbitrary方法的具体用法?C# Schema.Arbitrary怎么用?C# Schema.Arbitrary使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Schema
的用法示例。
在下文中一共展示了Schema.Arbitrary方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AbstractRecursive
public void AbstractRecursive()
{
var xsd = XsdFactory.xmlSchemaSetFromUri("Formula.xsd");
var els = xsd.GlobalElements.Values.OfType<XmlSchemaElement>();
var form = els.Single(x => x.Name == "Formula");
var and = els.Single(x => x.Name == "And");
var seq = (XmlSchemaSequence)((XmlSchemaComplexType)and.ElementSchemaType).ContentTypeParticle;
var formRef = (XmlSchemaElement)seq.Items[0];
Assert.IsTrue(form.IsAbstract);
Assert.IsTrue(form.RefName.IsEmpty);
Assert.IsFalse(form.QualifiedName.IsEmpty);
Assert.IsFalse(formRef.IsAbstract); // Notice this
Assert.AreEqual(form.QualifiedName, formRef.QualifiedName);
Assert.AreEqual(formRef.QualifiedName, formRef.RefName);
Assert.AreSame(form.ElementSchemaType, formRef.ElementSchemaType);
var schema = new Schema(xsd);
var gen = schema.Arbitrary(new XmlQualifiedName("Formula")).Generator;
var samples = gen.Sample(5, 500);
samples.ToList().ForEach(Console.WriteLine);
var allvalid = samples.All(x => schema.Validate(x).IsSuccess);
Assert.IsTrue(allvalid);
}