2 // System.Xml.XmlSchemaSetTests.cs
5 // Atsushi Enomoto <atsushi@ximian.com>
7 // (C) 2004 Novell Inc.
11 using System.Collections;
14 using System.Xml.Schema;
15 using NUnit.Framework;
17 using QName = System.Xml.XmlQualifiedName;
18 using SimpleType = System.Xml.Schema.XmlSchemaSimpleType;
19 using SimpleRest = System.Xml.Schema.XmlSchemaSimpleTypeRestriction;
20 using AssertType = NUnit.Framework.Assert;
22 namespace MonoTests.System.Xml
25 public class XmlSchemaTypeTests
27 string [] all_types = new string [] {
28 "string", "boolean", "float", "double", "decimal",
29 "duration", "dateTime", "time", "date", "gYearMonth",
30 "gYear", "gMonthDay", "gDay", "gMonth", "hexBinary",
31 "base64Binary", "anyURI", "QName", "NOTATION",
32 "normalizedString", "token", "language", "IDREFS",
33 "ENTITIES", "NMTOKEN", "NMTOKENS", "Name", "NCName",
34 "ID", "IDREF", "ENTITY", "integer",
35 "nonPositiveInteger", "negativeInteger", "long",
36 "int", "short", "byte", "nonNegativeInteger",
37 "unsignedLong", "unsignedInt", "unsignedShort",
38 "unsignedByte", "positiveInteger"
41 XmlTypeCode [] type_codes = new XmlTypeCode [] {
51 XmlTypeCode.GYearMonth,
53 XmlTypeCode.GMonthDay,
56 XmlTypeCode.HexBinary,
57 XmlTypeCode.Base64Binary,
61 XmlTypeCode.NormalizedString,
64 XmlTypeCode.Idref, // IDREFS (LAMESPEC)
65 XmlTypeCode.Entity, // ENTITIES (LAMESPEC)
67 XmlTypeCode.NmToken, // NMTOKENS (LAMESPEC)
74 XmlTypeCode.NonPositiveInteger,
75 XmlTypeCode.NegativeInteger,
80 XmlTypeCode.NonNegativeInteger,
81 XmlTypeCode.UnsignedLong,
82 XmlTypeCode.UnsignedInt,
83 XmlTypeCode.UnsignedShort,
84 XmlTypeCode.UnsignedByte,
85 XmlTypeCode.PositiveInteger};
88 public void TypeCode ()
90 for (int i = 0; i < all_types.Length; i++) {
91 string name = all_types [i];
92 QName qname = new QName (name, XmlSchema.Namespace);
93 Assert.AreEqual (type_codes [i],
94 XmlSchemaType.GetBuiltInSimpleType (qname).TypeCode, name);