2 // System.Xml.XmlSchemaAssertion.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
7 // (C) 2004 Atsushi Enomoto
13 using System
.Xml
.Schema
;
14 using NUnit
.Framework
;
16 namespace MonoTests
.System
.Xml
19 public class XmlSchemaAssertion
: Assertion
21 protected XmlSchema
GetSchema (string path
)
23 return XmlSchema
.Read (new XmlTextReader (path
), null);
26 protected XmlQualifiedName
QName (string name
, string ns
)
28 return new XmlQualifiedName (name
, ns
);
31 protected void AssertElement (XmlSchemaElement element
,
32 string name
, XmlQualifiedName refName
, string id
,
33 XmlQualifiedName schemaTypeName
, XmlSchemaType schemaType
)
35 AssertNotNull (element
);
36 AssertEquals (name
, element
.Name
);
37 AssertEquals (refName
, element
.RefName
);
38 AssertEquals (id
, element
.Id
);
39 AssertEquals (schemaTypeName
, element
.SchemaTypeName
);
40 AssertEquals (schemaType
, element
.SchemaType
);
43 protected void AssertElementEx (XmlSchemaElement element
,
44 XmlSchemaDerivationMethod block
, XmlSchemaDerivationMethod final
,
45 string defaultValue
, string fixedValue
,
46 XmlSchemaForm form
, bool isAbstract
, bool isNillable
,
47 XmlQualifiedName substGroup
)
49 AssertNotNull (element
);
50 AssertEquals (block
, element
.Block
);
51 AssertEquals (final
, element
.Final
);
52 AssertEquals (defaultValue
, element
.DefaultValue
);
53 AssertEquals (fixedValue
, element
.FixedValue
);
54 AssertEquals (form
, element
.Form
);
55 AssertEquals (isAbstract
, element
.IsAbstract
);
56 AssertEquals (isNillable
, element
.IsNillable
);
57 AssertEquals (substGroup
, element
.SubstitutionGroup
);
60 protected void AssertCompiledComplexType (XmlSchemaComplexType cType
,
61 XmlQualifiedName name
,
62 int attributesCount
, int attributeUsesCount
,
63 bool existsAny
, Type contentModelType
,
64 bool hasContentTypeParticle
,
65 XmlSchemaContentType contentType
)
67 AssertNotNull (cType
);
68 AssertEquals (name
.Name
, cType
.Name
);
69 AssertEquals (name
, cType
.QualifiedName
);
70 AssertEquals (attributesCount
, cType
.Attributes
.Count
);
71 AssertEquals (attributeUsesCount
, cType
.AttributeUses
.Count
);
72 Assert (existsAny
== (cType
.AttributeWildcard
!= null));
73 if (contentModelType
== null)
74 AssertNull (cType
.ContentModel
);
76 AssertEquals (contentModelType
, cType
.ContentModel
.GetType ());
77 AssertEquals (hasContentTypeParticle
, cType
.ContentTypeParticle
!= null);
78 AssertEquals (contentType
, cType
.ContentType
);
81 protected void AssertCompiledComplexContentExtension (XmlSchemaComplexContentExtension xccx
,
82 int attributeCount
, bool hasAnyAttribute
, XmlQualifiedName baseTypeName
)
85 AssertEquals (attributeCount
, xccx
.Attributes
.Count
);
86 AssertEquals (hasAnyAttribute
, xccx
.AnyAttribute
!= null);
87 AssertEquals (baseTypeName
, xccx
.BaseTypeName
);
88 AssertNotNull (xccx
.Particle
);
91 protected void AssertCompiledElement (XmlSchemaElement element
,
92 XmlQualifiedName name
, object elementType
)
94 AssertNotNull (element
);
95 AssertEquals (name
, element
.QualifiedName
);
96 AssertEquals (elementType
, element
.ElementType
);