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 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
 }