示例#1
0
        public void TestValidateValidXml()
        {
            //---------------Set up test pack-------------------
            string xml =
                @"<classes>
						<class name=""TestClass"" assembly=""Habanero.Test.BO.Loaders"" >
							<property  name=""TestClassID"" />
                            <primaryKey>
                                <prop name=""TestClassID""/>
                            </primaryKey>
					        <relationship name=""TestRelatedClass"" type=""single"" relatedClass=""TestRelatedClass"" relatedAssembly=""Habanero.Test.BO.Loaders"">
						        <relatedProperty property=""TestClassID"" relatedProperty=""TestClassID"" />
					        </relationship>
						</class>
						<class name=""TestRelatedClass"" assembly=""Habanero.Test.BO.Loaders"" >
							<property  name=""TestRelatedClassID"" />
							<property  name=""TestClassID"" />
                            <primaryKey>
                                <prop name=""TestRelatedClassID""/>
                            </primaryKey>
						</class>
					</classes>"                    ;
            ClassDefsXmlValidator validator = new ClassDefsXmlValidator();

            //---------------Execute Test ----------------------
            XmlValidationResult validationResult = validator.ValidateClassDefsXml(xml);

            //---------------Test Result -----------------------

            Assert.IsTrue(validationResult.IsValid);

            //---------------Tear Down -------------------------
        }
示例#2
0
        public void TestValidateUIXml_Valid()
        {
            //---------------Set up test pack-------------------
            string xml =
                @"<ui name=""defTestName1"">
					<grid>
						<column heading=""testheading1"" property=""testpropname1""  />
						<column heading=""testheading2"" property=""testpropname2""  />
						<column heading=""testheading3"" property=""testpropname3""  />
					</grid>
					<form>
						<tab name=""testtab"">
							<columnLayout>
								<field label=""testlabel1"" property=""testpropname1"" type=""Button"" mapperType=""testmappertypename1"" />
								<field label=""testlabel2"" property=""testpropname2"" type=""Button"" mapperType=""testmappertypename2"" />
							</columnLayout>
						</tab>
					</form>
				</ui> 
";
            ClassDefsXmlValidator validator = new ClassDefsXmlValidator();

            //---------------Execute Test ----------------------
            XmlValidationResult validationResult = validator.ValidateClassDefsXml(xml);

            //---------------Test Result -----------------------

            Assert.IsTrue(validationResult.IsValid);

            //---------------Tear Down -------------------------
        }
示例#3
0
        public void IsValid_Should_ReturnTrueIfNoErrors()
        {
            // arrange
            var validationResult = new XmlValidationResult();

            // act
            var actual = validationResult.IsValid;

            // assert
            Assert.That(actual, Is.True);
        }
示例#4
0
        public void AddError_Should_AddAnError()
        {
            // arrange
            var validationResult = new XmlValidationResult();

            // act
            validationResult.AddError("Test Error");
            var actual = validationResult.ValidationErrors;

            // assert
            Assert.That(actual.Count, Is.EqualTo(1));
            Assert.That(actual.Any(p => p == "Test Error"), Is.True);
        }
示例#5
0
        public void IsValid_Should_ReturnFalseIfOneOrMoreErrors()
        {
            // arrange
            var validationResult = new XmlValidationResult();


            // act
            validationResult.ValidationErrors.Add("Test Error");
            var actual = validationResult.IsValid;

            // assert
            Assert.That(actual, Is.False);
        }
示例#6
0
        public void ToString_Should_ReturnLineBreakSeparatedErrors()
        {
            // arrange
            var validationResult = new XmlValidationResult();
            var error1           = "Error 1";
            var error2           = "Error 2";
            var expected         = error1 + Environment.NewLine + error2;

            //act
            validationResult.AddError(error1);
            validationResult.AddError(error2);
            var actual = validationResult.ToString();

            Assert.That(actual, Is.EqualTo(expected));
        }
示例#7
0
        public void TestValidateInvalidXml()
        {
            //---------------Set up test pack-------------------
            string xml =
                @"<classes bob=""Asdf"">
						<bob />
					</classes>"                    ;
            ClassDefsXmlValidator validator = new ClassDefsXmlValidator();

            //---------------Execute Test ----------------------
            XmlValidationResult validationResult = validator.ValidateClassDefsXml(xml);

            //---------------Test Result -----------------------

            Assert.IsFalse(validationResult.IsValid);
            //---------------Tear Down -------------------------
        }
示例#8
0
        public void TestValidateUIXml_Invalid()
        {
            //---------------Set up test pack-------------------
            string xml =
                @"<ui name=""defTestName1"">
						<bob />
					</ui> "                    ;
            ClassDefsXmlValidator validator = new ClassDefsXmlValidator();

            //---------------Execute Test ----------------------
            XmlValidationResult validationResult = validator.ValidateClassDefsXml(xml);

            //---------------Test Result -----------------------

            Assert.IsFalse(validationResult.IsValid);
            //---------------Tear Down -------------------------
        }
示例#9
0
        public override bool Matches(object actual)
        {
            if (actual == null)
            {
                throw new ArgumentNullException("actual");
            }

            var document = actual as XDocument;

            if (document != null)
            {
                this.validationResult = this.schemaValidator.Validate(document, this.schemaSet);
            }
            else
            {
                TextReader reader;

                if (actual is TextReader)
                {
                    reader = (TextReader)actual;
                }
                else if (actual is string)
                {
                    reader = new StringReader((string)actual);
                }
                else if (actual is Stream)
                {
                    reader = new StreamReader((Stream)actual);
                }
                else
                {
                    throw new ArgumentException("Actual must be string, TextReader, Stream or XDocument", "actual");
                }

                this.validationResult = this.schemaValidator.Validate(reader, this.schemaSet);
            }

            return(this.validationResult.IsSuccess);
        }