public void VerifyThatWithRecursiveValidationStopOnFirstError()
        {
            var rng = new OwnAClassTest()
            {
                Reference = new ClassTest(), Reference2 = new ClassTest()
            };
            var v = new Core.Validator();

            ValidationResult res = v.ValidateObject(rng, ValidationFlags.RecursiveValidation | ValidationFlags.StopOnFirstError);

            Assert.That(res.Errors, Has.Count.EqualTo(1));
        }
        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 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));
        }