XmlSchemaAssertion.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // System.Xml.XmlSchemaAssertion.cs
  3. //
  4. // Author:
  5. // Atsushi Enomoto <[email protected]>
  6. //
  7. // (C) 2004 Atsushi Enomoto
  8. //
  9. using System;
  10. using System.IO;
  11. using System.Xml;
  12. using System.Xml.Schema;
  13. using NUnit.Framework;
  14. namespace MonoTests.System.Xml
  15. {
  16. [TestFixture]
  17. public class XmlSchemaAssertion : Assertion
  18. {
  19. protected XmlSchema GetSchema (string path)
  20. {
  21. return XmlSchema.Read (new XmlTextReader (path), null);
  22. }
  23. protected XmlQualifiedName QName (string name, string ns)
  24. {
  25. return new XmlQualifiedName (name, ns);
  26. }
  27. protected void AssertElement (XmlSchemaElement element,
  28. string name, XmlQualifiedName refName, string id,
  29. XmlQualifiedName schemaTypeName, XmlSchemaType schemaType)
  30. {
  31. AssertNotNull (element);
  32. AssertEquals (name, element.Name);
  33. AssertEquals (refName, element.RefName);
  34. AssertEquals (id, element.Id);
  35. AssertEquals (schemaTypeName, element.SchemaTypeName);
  36. AssertEquals (schemaType, element.SchemaType);
  37. }
  38. protected void AssertElementEx (XmlSchemaElement element,
  39. XmlSchemaDerivationMethod block, XmlSchemaDerivationMethod final,
  40. string defaultValue, string fixedValue,
  41. XmlSchemaForm form, bool isAbstract, bool isNillable,
  42. XmlQualifiedName substGroup)
  43. {
  44. AssertNotNull (element);
  45. AssertEquals (block, element.Block);
  46. AssertEquals (final, element.Final);
  47. AssertEquals (defaultValue, element.DefaultValue);
  48. AssertEquals (fixedValue, element.FixedValue);
  49. AssertEquals (form, element.Form);
  50. AssertEquals (isAbstract, element.IsAbstract);
  51. AssertEquals (isNillable, element.IsNillable);
  52. AssertEquals (substGroup, element.SubstitutionGroup);
  53. }
  54. protected void AssertCompiledComplexType (XmlSchemaComplexType cType,
  55. XmlQualifiedName name,
  56. int attributesCount, int attributeUsesCount,
  57. bool existsAny, Type contentModelType,
  58. bool hasContentTypeParticle,
  59. XmlSchemaContentType contentType)
  60. {
  61. AssertNotNull (cType);
  62. AssertEquals (name.Name, cType.Name);
  63. AssertEquals (name, cType.QualifiedName);
  64. AssertEquals (attributesCount, cType.Attributes.Count);
  65. AssertEquals (attributeUsesCount, cType.AttributeUses.Count);
  66. Assert (existsAny == (cType.AttributeWildcard != null));
  67. if (contentModelType == null)
  68. AssertNull (cType.ContentModel);
  69. else
  70. AssertEquals (contentModelType, cType.ContentModel.GetType ());
  71. AssertEquals (hasContentTypeParticle, cType.ContentTypeParticle != null);
  72. AssertEquals (contentType, cType.ContentType);
  73. }
  74. protected void AssertCompiledComplexContentExtension (XmlSchemaComplexContentExtension xccx,
  75. int attributeCount, bool hasAnyAttribute, XmlQualifiedName baseTypeName)
  76. {
  77. AssertNotNull (xccx);
  78. AssertEquals (attributeCount, xccx.Attributes.Count);
  79. AssertEquals (hasAnyAttribute, xccx.AnyAttribute != null);
  80. AssertEquals (baseTypeName, xccx.BaseTypeName);
  81. AssertNotNull (xccx.Particle);
  82. }
  83. protected void AssertCompiledElement (XmlSchemaElement element,
  84. XmlQualifiedName name, object elementType)
  85. {
  86. AssertNotNull (element);
  87. AssertEquals (name, element.QualifiedName);
  88. AssertEquals (elementType, element.ElementType);
  89. }
  90. }
  91. }