1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
//
// Tests for the length facets.
//
// Author:
// David Sheldon <dave-mono@earth.li>
//
//
using System;
using System.Xml;
using System.Xml.Schema;
using NUnit.Framework;
namespace MonoTests.System.Xml
{
[TestFixture]
public class XmlSchemaLengthFacetTests
{
[Test]
public void TestValidCombinations () {
CreateSimpletypeLength("5","-","-", true);
CreateSimpletypeLength("5","1","-", false);
CreateSimpletypeLength("5","-","1", false);
CreateSimpletypeLength("-","1","10", true);
CreateSimpletypeLength("-","10","1", false);
CreateSimpletypeLength("-","1","-", true);
CreateSimpletypeLength("-","-","1", true);
CreateSimpletypeLength("-5","-","-", false);
CreateSimpletypeLength("-","-1","-", false);
CreateSimpletypeLength("-","-","-1", false);
CreateSimpletypeLength("5.4","-","-", false);
CreateSimpletypeLength("-","1.0","-", false);
CreateSimpletypeLength("-","-","1.3", false);
CreateSimpletypeLength("+5","-","-", true);
CreateSimpletypeLength("-","+1","-", true);
CreateSimpletypeLength("-","-","+1", true);
}
private void CreateSimpletypeLength(string length, string minLength, string maxLength, bool expected) {
passed = true;
XmlSchema schema = new XmlSchema();
XmlSchemaSimpleType testType = new XmlSchemaSimpleType();
testType.Name = "TestType";
XmlSchemaSimpleTypeRestriction testTypeRestriction = new XmlSchemaSimpleTypeRestriction();
testTypeRestriction.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema");
if (length != "-") {
XmlSchemaLengthFacet _length = new XmlSchemaLengthFacet();
_length.Value = length;
testTypeRestriction.Facets.Add(_length);
}
if (minLength != "-") {
XmlSchemaMinLengthFacet _minLength = new XmlSchemaMinLengthFacet();
_minLength.Value = minLength;
testTypeRestriction.Facets.Add(_minLength);
}
if (maxLength != "-") {
XmlSchemaMaxLengthFacet _maxLength = new XmlSchemaMaxLengthFacet();
_maxLength.Value = maxLength;
testTypeRestriction.Facets.Add(_maxLength);
}
testType.Content = testTypeRestriction;
schema.Items.Add(testType);
schema.Compile(new ValidationEventHandler(ValidationCallbackOne));
Assert.IsTrue (expected == passed, (passed ? "Test passed, should have failed" : "Test failed, should have passed") + ": " + length + " " + minLength + " " + maxLength);
}
bool passed = true;
private void ValidationCallbackOne(object sender, ValidationEventArgs args) {
passed = false;
}
}
}
|