public void TestPropertyLength()
        {
            Core.Validator validator = ValidatorFromMetadata.GetValidatorFromSession(Factory);
            var            rules     = validator.GetRules(typeof(EntityBase));

            Assert.That(rules, Has.Count.EqualTo(1));
        }
		public void BasicFieldGraphTestRecursiveInternalClassNull()
		{
			var obj = new Container3();
			var v = new Core.Validator();
			ValidationResult res = v.ValidateObject(obj, ValidationFlags.StopOnFirstError | ValidationFlags.RecursiveValidation);
			Assert.IsTrue(res);
		}
Пример #3
0
        public static Core.Validator GetValidatorFromSession(ISessionFactory sessionFactory)
        {
            var allDefindedClasses = sessionFactory.GetAllClassMetadata();

            Core.Validator validator = new Core.Validator();
            foreach (KeyValuePair <string, IClassMetadata> pair in allDefindedClasses)
            {
                IClassMetadata metadata = pair.Value;
                foreach (string propertyName in metadata.PropertyNames)
                {
                    IType      propertyType = metadata.GetPropertyType(propertyName);
                    StringType st           = propertyType as StringType;
                    if (st != null)
                    {
                        if (st.SqlType.Length > 0)
                        {
                            validator.AddRule(Rule.For(metadata.GetMappedClass(EntityMode.Poco))
                                              .OnMember(propertyName)
                                              .MaxLength(st.SqlType.Length)
                                              .Message(String.Format(
                                                           "Property {0} have a maximum length of {1}",
                                                           propertyName,
                                                           st.SqlType.Length)));
                        }
                    }
                }
            }
            return(validator);
        }
 public static Core.Validator GetValidatorFromSession(ISessionFactory sessionFactory)
 {
     var allDefindedClasses = sessionFactory.GetAllClassMetadata();
     Core.Validator validator = new Core.Validator();
     foreach (KeyValuePair<string, IClassMetadata> pair in allDefindedClasses)
     {
         IClassMetadata metadata = pair.Value;
         foreach (string propertyName in metadata.PropertyNames)
         {
             IType propertyType = metadata.GetPropertyType(propertyName);
             StringType st = propertyType as StringType;
             if (st != null)
             {
                 if (st.SqlType.Length > 0)
                 {
                     validator.AddRule(Rule.For(metadata.GetMappedClass(EntityMode.Poco))
                         .OnMember(propertyName)
                                 .MaxLength(st.SqlType.Length)
                                 .Message(String.Format(
                                 "Property {0} have a maximum length of {1}",
                                     propertyName,
                                             st.SqlType.Length)));
                 }
             }
         }
     }
     return validator;
 }
        public void TestValidateWithException()
        {
            var s1f = new Simple1Field();
            var v   = new Core.Validator();

            Assert.Throws <ValidationException>(() => v.CheckObject(s1f));
        }
Пример #6
0
 public void TestBasicValidationAttributeGood()
 {
     Test test = new Test();
     test.Property = "Testregexgood";
     Validator.Core.Validator v = new Core.Validator();
     Assert.That((Boolean)v.ValidateObject(test), Is.True);
 }
Пример #7
0
        /// <summary>
        /// Create the first validator found into configuration file.
        /// </summary>
        /// <returns></returns>
        public Core.Validator CreateValidator()
        {
            Core.Validator validator = new Core.Validator();
            XElement validatorNode = Configuration.Elements("validator").First();
            Type resourceType = null;
            XElement resourceTypeNameNode = validatorNode.Elements("resource").FirstOrDefault();
            if (resourceTypeNameNode != null)
            {
                String resourceTypeName = resourceTypeNameNode.Attribute("name").Value;

                resourceType = Type.GetType(resourceTypeName);
                if (resourceType == null)
                {
                    throw new ConfigurationErrorsException(
                        String.Format("The type {0} specified for resource is not valid", resourceTypeName));
                }
            }
            foreach (XElement typeNode in validatorNode.Elements("type"))
            {
                Type currentType = Type.GetType(typeNode.Attribute("name").Value);
                if (currentType == null)
                    throw new ConfigurationErrorsException("Configuration node " + typeNode.ToString() + " validate type " +
                        typeNode.Attribute("name").Value + " that does not exists");
                //A node can have one or more rules, rules are simply extractor with inner validators
                foreach (XElement ruleNode in typeNode.Elements())
                {
                    IExtratorNode node = XmlHelper.GetExtractorNode(ruleNode);
                    node.Configure(resourceType, currentType, validator);
                }
            }
            return validator;
        }
Пример #8
0
        internal Rule Configure(Core.Validator validator)
        {
            ValidationUnitCollection coll = validator.GetRules(Type);

            coll.Add(ValidationUnit.CreateValidationUnit(ErrorMessage, _CreateValidator(Extractor)));
            return(this);
        }
Пример #9
0
        /// <summary>
        /// Create the first validator found into configuration file.
        /// </summary>
        /// <returns></returns>
        public Core.Validator CreateValidator()
        {
            Core.Validator validator            = new Core.Validator();
            XElement       validatorNode        = Configuration.Elements("validator").First();
            Type           resourceType         = null;
            XElement       resourceTypeNameNode = validatorNode.Elements("resource").FirstOrDefault();

            if (resourceTypeNameNode != null)
            {
                String resourceTypeName = resourceTypeNameNode.Attribute("name").Value;

                resourceType = Type.GetType(resourceTypeName);
                if (resourceType == null)
                {
                    throw new ConfigurationErrorsException(
                              String.Format("The type {0} specified for resource is not valid", resourceTypeName));
                }
            }
            foreach (XElement typeNode in validatorNode.Elements("type"))
            {
                Type currentType = Type.GetType(typeNode.Attribute("name").Value);
                if (currentType == null)
                {
                    throw new ConfigurationErrorsException("Configuration node " + typeNode.ToString() + " validate type " +
                                                           typeNode.Attribute("name").Value + " that does not exists");
                }
                //A node can have one or more rules, rules are simply extractor with inner validators
                foreach (XElement ruleNode in typeNode.Elements())
                {
                    IExtratorNode node = XmlHelper.GetExtractorNode(ruleNode);
                    node.Configure(resourceType, currentType, validator);
                }
            }
            return(validator);
        }
		public void RangeTestGoodObject()
		{
			var rng = new RFTestClass1();
			var v = new Core.Validator();
			ValidationResult res = v.ValidateObject(rng);
			Assert.IsTrue(res, "Range Object does wrong validation.");
		}
Пример #11
0
        public void TestBasicValidationAttributeGood()
        {
            Test test = new Test();

            test.Property = "Testregexgood";
            Validator.Core.Validator v = new Core.Validator();
            Assert.That((Boolean)v.ValidateObject(test), Is.True);
        }
        public void BasicNullTest()
        {
            var obj = new Container1();
            var v   = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj);

            Assert.IsFalse(res, "Property is null should not validate");
        }
 public void TestFluentInvalidNoProperty()
 {
     Core.Validator v = new Core.Validator();
     Assert.Throws <ArgumentException>(() =>
                                       v.AddRule(Rule.ForMember <Simple1Field>(o => o.field)
                                                 .IsInRange(10, 100)
                                                 .Message(() => TestRes.Test)));
 }
        public void BasicFieldGraphTestRecursiveInternalClassNull()
        {
            var obj = new Container3();
            var v   = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj, ValidationFlags.StopOnFirstError | ValidationFlags.RecursiveValidation);

            Assert.IsTrue(res);
        }
Пример #15
0
        public void ValidateUnknownEntity()
        {
            var              v   = new Core.Validator();
            AnEntity         bes = new AnEntity();
            ValidationResult res = v.ValidateObject(bes);

            Assert.That(res.Success, Is.True);
        }
        public void VerifyCollectionNotEmptyValidation()
        {
            var rng = new OwnCollectionAnotherClassTest() { List = new List<AnotherClassTest>() };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsFalse(res);
        }
        public void RangeTestGoodObject()
        {
            var rng = new RFTestClass1();
            var v   = new Core.Validator();
            ValidationResult res = v.ValidateObject(rng);

            Assert.IsTrue(res, "Range Object does wrong validation.");
        }
        public void VerifyCollectionOfInt32ValidateNotEmpty()
        {
            var rng = new OwnCollectionOfBasicElement() { List = new List<Int32>(), Property = "TEST" };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsFalse(res);
        }
        public void TestWrongObjectNum2WithStopOnError()
        {
            var s1pf             = new Simple1Field1Property();
            var v                = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1pf, ValidationFlags.StopOnFirstError);

            Assert.IsFalse(res, "Object does not validate well");
            Assert.AreEqual(1, res.ErrorMessages.Count, "Wrong number of error detected");
        }
		public void BasicFieldGraphTestRecursive()
		{
			var obj = new Container1();
			obj.containedField = new Contained1();
			var v = new Core.Validator();
			ValidationResult res = v.ValidateObject(obj, 
				ValidationFlags.StopOnFirstError | ValidationFlags.RecursiveValidation);
			Assert.IsFalse(res, "Object does not works for recursive validation");
		}
Пример #21
0
        public void ValidateInherited2()
        {
            var              v   = new Core.Validator();
            ChildEntity      bes = new ChildEntity();
            ValidationResult res = v.ValidateObject(bes);

            Assert.That(res.Success, Is.False);
            Assert.That(res.ErrorMessages[0], Is.EqualTo("This is a required field"));
        }
 public void TestCustomValueExtractorWrong()
 {
     var obj = new FullCustomValueExtractor1ClassTest();
     obj.field1 = 10;
     obj.field2 = 300;
     var v = new Core.Validator();
     ValidationResult res = v.ValidateObject(obj);
     Assert.IsFalse(res, "Object does not validate well");
 }
        public void TestWrongObject()
        {
            var s1f = new Simple1Field();
            var v   = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1f);

            Assert.IsFalse(res, "Object does not validate well");
            Assert.AreEqual(1, res.ErrorMessages.Count, "Wrong number of error detected");
            Assert.AreEqual(cSimpleErrorMessage, res.ErrorMessages[0]);
        }
Пример #24
0
        public void ValidateInheritedGood()
        {
            var         v   = new Core.Validator();
            ChildEntity bes = new ChildEntity();

            bes.RequiredString = "this";
            ValidationResult res = v.ValidateObject(bes);

            Assert.That(res.Success, Is.True);
        }
Пример #25
0
 public void Configure(Type messageResourceType, Type typeToValidate, Core.Validator validatorToConfigure)
 {
     foreach (IRuleNode node in RuleNodes)
     {
         Rule rule = Rule.For(typeToValidate);
         InnerConfigure(rule);
         node.Configure(messageResourceType, rule);
         validatorToConfigure.AddRule(rule);
     }
 }
Пример #26
0
        public void ScannerInheritedTest()
        {
            var         v               = new Core.Validator();
            ChildEntity bes             = new ChildEntity();
            var         ts              = new TypeScanner(bes.GetType());
            ValidationUnitCollection vc = ts.Scan();

            Assert.That(vc, Has.Count.EqualTo(2));
            Assert.That(vc[1].ErrorMessage.Message, Is.EqualTo("This is a required field"));
        }
        public void TestGoodObject()
        {
            var s1f = new Simple1Field();

            s1f.field = "value";
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1f);

            Assert.IsTrue(res, "Object does not validate well");
        }
        public void VerifyCollectionValidation()
        {
            var rng = new OwnCollectionAnotherClassTest() { List = new List<AnotherClassTest>() };
            rng.List.Add(new AnotherClassTest() { Property1 = "bla", Property2 = "BEA" });
            rng.List.Add(new AnotherClassTest() { Property1 = "bla" }); //this is invalid
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsFalse(res);
        }
        public void VerifyCollectionOfInt32DoesNotValidateInnerInteger()
        {
            var rng = new OwnCollectionOfBasicElement() { List = new List<Int32>(), Property = "TEST" };
            rng.List.Add(11);
            rng.List.Add(12);
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsTrue(res);
        }
        public void TestWrongObjectNum2()
        {
            var s1pf             = new Simple1Field1Property();
            var v                = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1pf);

            Assert.IsFalse(res, "Object does not validate well");
            Assert.AreEqual(2, res.ErrorMessages.Count, "Wrong number of error detected");
            Assert.IsTrue(res.ErrorMessages.Contains(cAlternativeErrorMessage));
            Assert.IsTrue(res.ErrorMessages.Contains(cSimpleErrorMessage));
        }
        public void BasicFieldGraphTestValidationResult()
        {
            var obj = new Container1();

            obj.containedField = new Contained1();
            obj.containedField.requiredProperty = "This is valid";
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj, ValidationFlags.StopOnFirstError | ValidationFlags.RecursiveValidation);

            Assert.IsTrue(res, "Object field should validate.");
        }
        public void VerifyNotValidateIEnumerableProperties()
        {
            var rng = new OwnCollectionOfBasicElementIEnumerable()
            {
            };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);

            Assert.IsTrue(res);
        }
Пример #33
0
        public void TestCustomValueExtractorWrong()
        {
            var obj = new FullCustomValueExtractor1ClassTest();

            obj.field1 = 10;
            obj.field2 = 300;
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj);

            Assert.IsFalse(res, "Object does not validate well");
        }
        public void RangeTestWrongObjectErrorContainsPropertyName()
        {
            var rng = new RFTestClass1();

            rng.Property = 10000.0f;
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(rng);

            Assert.IsFalse(res, "Range Object does wrong validation.");
            Assert.That(res.Errors[0].SourceName, Is.EqualTo("Property"));
        }
        public void BasicFieldGraphTestRecursive()
        {
            var obj = new Container1();

            obj.containedField = new Contained1();
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj,
                                                    ValidationFlags.StopOnFirstError | ValidationFlags.RecursiveValidation);

            Assert.IsFalse(res, "Object does not works for recursive validation");
        }
        public void TestFluentForSourceWithLambdaInt()
        {
            var s1f = new Simple2Property();

            Core.Validator v = new Core.Validator();
            v.AddRule(Rule.ForMember <Simple2Property>(o => o.IProperty)
                      .IsInRange(10, 100)
                      .Message(() => TestRes.Test));
            ValidationResult res = v.ValidateObject(s1f);

            Assert.That(res.Errors[0].SourceName, Is.EqualTo("IProperty"));
        }
        public void BasicFieldGraphTestValidationError()
        {
            var obj = new Container1();

            obj.containedField = new Contained1();
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(obj);

            Assert.IsTrue(res, "Validate object method defaults to not validate contained objects");
            res = v.ValidateObject(obj.containedField);
            Assert.IsFalse(res, "inner object must not validate");
        }
        public void TestWrongObjectWithDefaultValue()
        {
            var s1p = new Simple1Property();

            s1p.Property = cDefaultValueSimple1Property;
            var v = new Core.Validator();
            ValidationResult res = v.ValidateObject(s1p);

            Assert.IsFalse(res, "Object does not validate well");
            Assert.AreEqual(1, res.ErrorMessages.Count, "Wrong number of error detected");
            Assert.AreEqual(cSimpleErrorMessage, res.ErrorMessages[0]);
        }
Пример #39
0
        public void ValidateInheritedFluentTrue()
        {
            var           v   = new Core.Validator();
            ChildEntityNa bes = new ChildEntityNa();

            v.AddRule(Rule.For <ChildEntityNa>(e => e.RequiredString)
                      .Required().Message("Required!!!!"));
            bes.RequiredString = "is here!!";
            ValidationResult res = v.ValidateObject(bes);

            Assert.That(res.Success, Is.True);
        }
        public void TestFluentForSourceWithLambdaAndNullableDateTime()
        {
            var s1f = new Simple2Property();

            Core.Validator v = new Core.Validator();
            v.AddRule(Rule.ForMember <Simple2Property>(o => o.NullableDateTime)
                      .Required()
                      .Message(() => TestRes.Test));
            ValidationResult res = v.ValidateObject(s1f);

            Assert.That(res.Errors[0].SourceName, Is.EqualTo("NullableDateTime"));
        }
Пример #41
0
        public void ValidateInheritedFluent()
        {
            var           v   = new Core.Validator();
            ChildEntityNa bes = new ChildEntityNa();

            v.AddRule(Rule.For <ChildEntityNa>(e => e.RequiredString)
                      .Required().Message("Required!!!!"));
            ValidationResult res = v.ValidateObject(bes);

            Assert.That(res.Success, Is.False);
            Assert.That(res.ErrorMessages[0], Is.EqualTo("Required!!!!"));
        }
 public void TestProgrammaticNullValidator()
 {
     var v = new Core.Validator();
     v.AddValidationRule(
         typeof (ProgValid1),
         ValidationUnit.CreateValidationUnit(
             ErrorMessage.empty,
             new RequiredValidator(new NamedValueExtractor("StringProperty"))));
     var obj = new ProgValid1();
     Assert.IsFalse(v.ValidateObject(obj), "Programmatic validation does not work");
     obj.StringProperty = "notnullvalue";
     Assert.IsTrue(v.ValidateObject(obj), "Programmatic validation does not work");
 }
 public void VerifyCollectionNotEmptyValidationFluent()
 {
     var rng = new OwnCollectionAnotherClassTestWithNoAttribute() { List = new List<AnotherClassTest>() };
     Core.Validator v = new Core.Validator();
     v.AddRule(Rule.For<OwnCollectionAnotherClassTestWithNoAttribute>()
             .OnMember("List")
             .NotEmpty()
             .Message("List should have at least one element"));
     ValidationResult res = v.ValidateObject(rng);
     Assert.IsFalse(res);
     Assert.That(res.ErrorMessages, Has.Count.EqualTo(1));
     Assert.That(res.ErrorMessages[0],
         Is.EqualTo("List should have at least one element"));
 }
        public void DefineComplexRule1()
        {
            IValueExtractor ve = new BinaryOperatorValueExtractor(
                new NamedValueExtractor("intField1"),
                new NamedValueExtractor("intField2"),
                BinaryOperatorValueExtractor.MathOperation.Addition);
            var v = new Core.Validator();
            v.AddValidationRule(
                typeof (ProgValid1),
                ValidationUnit.CreateValidationUnit(
                    ErrorMessage.empty,
                    new RangeValueValidator(ve, 100, 1000)));
            var obj = new ProgValid1();
            obj.intField1 = 10;
            obj.intField2 = 200;

            Assert.IsTrue(v.ValidateObject(obj), "Programmatic validation does not work");
        }
Пример #45
0
 public void ValidateInheritedGood()
 {
     var v = new Core.Validator();
     ChildEntity bes = new ChildEntity();
     bes.RequiredString = "this";
     ValidationResult res = v.ValidateObject(bes);
     Assert.That(res.Success, Is.True);
 }
        public void VerifyValidateRecursiveObject()
        {
            var rng = new OwnAClassTest() { Reference = new ClassTest(), Reference2 = new ClassTest() };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsFalse(res);
            Assert.That(res.Errors[0].SourceName, Is.EqualTo("Reference.Property"));
            res = v.ValidateObject(rng);
            Assert.IsTrue(res);
        }
        public void VerifyThatWithRecursiveValidationStopOnFirstErrorIsDisabled()
        {
            var rng = new OwnAClassTest() { Reference = new ClassTest(), Reference2 = new ClassTest() };
            var v = new Core.Validator();

            ValidationResult res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.That(res.Errors, Has.Count.EqualTo(2));
        }
        public void VerifyThatWithRecursiveValidationDoesNotStopOnFirstErrorOnSubValidation()
        {
            var rng = new OwnAnotherClassTest() { Reference = new AnotherClassTest() };
            var v = new Core.Validator();

            ValidationResult res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.That(res.Errors, Has.Count.EqualTo(2));
        }
 public void VerifyNotValidateIEnumerableWhenLambdaConditionIsUsed()
 {
     var rng = new OwnCollectionOfBasicElementIEnumerable(23) { };
     var v = new Core.Validator();
     v.AddRule(Rule.For<OwnCollectionOfBasicElementIEnumerable>(l => l.SearchUnits)
          .Custom<IEnumerable<Int32>>(sl =>
                   sl.Count() > 0).Message("error"));
     var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
     Assert.IsTrue(res);
 }
Пример #50
0
 public void ValidateUnknownEntity()
 {
     var v = new Core.Validator();
     AnEntity bes = new AnEntity();
     ValidationResult res = v.ValidateObject(bes);
     Assert.That(res.Success, Is.True);
 }
 public void VerifyInnerValidationGrabCorrectNameWhenPassedAsArgument()
 {
     var rng = new OwnSecondLevel() { Collection = new List<OwnCollectionOfBasicElementIEnumerable>() };
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable(1));
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable());
     var v = new Core.Validator();
     v.AddRule(Rule.For<OwnCollectionOfBasicElementIEnumerable>(l => l.SearchUnits, "SearchUnitsXX")
          .Custom<IEnumerable<Int32>>(sl =>
                   sl.Count() > 0)
                   .Message("Error"));
     var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
     Assert.That(res.Errors[0].SourceName, Is.EqualTo("Collection[1].SearchUnitsXX")); //Second list does not contains elements
 }
 public void VerifyInnerIEnumerableMessageErrorWhenLambdaIsUsed()
 {
     var rng = new OwnSecondLevel() { Collection = new List<OwnCollectionOfBasicElementIEnumerable>()};
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable(1));
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable());
     var v = new Core.Validator();
     v.AddRule(Rule.For<OwnCollectionOfBasicElementIEnumerable>(l => l.SearchUnits)
          .Custom<IEnumerable<Int32>>(sl =>
                   sl.Count() > 0)
                   .Message("I want to see this message"));
     var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
     Assert.That(res.Errors[0].Message, Is.EqualTo("I want to see this message"));
 }
 public void VerifyInnerIEnuerablePropertyOfInnerObjectIsNotValidated()
 {
     var rng = new OwnSecondLevel() { Collection = new List<OwnCollectionOfBasicElementIEnumerable>()};
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable(1));
     rng.Collection.Add(new OwnCollectionOfBasicElementIEnumerable());
     var v = new Core.Validator();
     v.AddRule(Rule.For<OwnCollectionOfBasicElementIEnumerable>(l => l.SearchUnits)
          .Custom<IEnumerable<Int32>>(sl =>
                   sl.Count() > 0)
                   .Message("Error"));
     var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
     Assert.IsFalse(res); //Second list does not contains elements
 }
        public void VerifyCollectionWhenNoRuleIsDefined()
        {
            var rng = new OwnCollectionAnotherClassTestWithNoAttribute() { List = new List<AnotherClassTest>() };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsTrue(res);
        }
        public void VerifyNotValidateIEnumerableProperties()
        {
            var rng = new OwnCollectionOfBasicElementIEnumerable() { };
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.IsTrue(res);
        }
Пример #56
0
 public void ScannerInheritedTest()
 {
     var v = new Core.Validator();
     ChildEntity bes = new ChildEntity();
     var ts = new TypeScanner(bes.GetType());
     ValidationUnitCollection vc = ts.Scan();
     Assert.That(vc, Has.Count.EqualTo(2));
     Assert.That(vc[1].ErrorMessage.Message, Is.EqualTo("This is a required field"));
 }
        public void VerifyCollectionValidationIndexingOfPropertyInErrorList()
        {
            var rng = new OwnCollectionAnotherClassTest() { List = new List<AnotherClassTest>() };
            rng.List.Add(new AnotherClassTest() { Property1 = "bla", Property2 = "BEA" });
            rng.List.Add(new AnotherClassTest() { Property1 = "bla" }); //this is invalid
            var v = new Core.Validator();

            var res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation);
            Assert.That(res.Errors[0].SourceName, Is.EqualTo("List[1].Property2"));
        }
Пример #58
0
 public void ValidateInheritedFluent()
 {
     var v = new Core.Validator();
     ChildEntityNa bes = new ChildEntityNa();
     v.AddRule(Rule.For<ChildEntityNa>(e => e.RequiredString)
               	.Required().Message("Required!!!!"));
     ValidationResult res = v.ValidateObject(bes);
     Assert.That(res.Success, Is.False);
     Assert.That(res.ErrorMessages[0], Is.EqualTo("Required!!!!"));
 }
Пример #59
0
 public void ValidateInherited2()
 {
     var v = new Core.Validator();
     ChildEntity bes = new ChildEntity();
     ValidationResult res = v.ValidateObject(bes);
     Assert.That(res.Success, Is.False);
     Assert.That(res.ErrorMessages[0], Is.EqualTo("This is a required field"));
 }
Пример #60
0
 public void ValidateInheritedFluentTrue()
 {
     var v = new Core.Validator();
     ChildEntityNa bes = new ChildEntityNa();
     v.AddRule(Rule.For<ChildEntityNa>(e => e.RequiredString)
                 .Required().Message("Required!!!!"));
     bes.RequiredString = "is here!!";
     ValidationResult res = v.ValidateObject(bes);
     Assert.That(res.Success, Is.True);
 }