public void ForbiddenValueInListThrowsNotAllowedValueValidationException()
        {
            ForbiddenTestObject obj = new ForbiddenTestObject();

            ValidationContext ctx = new ValidationContext(obj);

            ctx.MemberName = "ContainsForbiddenValue";

            Action act = () => Validator.ValidateProperty(obj.ContainsForbiddenValue, ctx);

            act.ShouldThrowExactly <ValidationException>().WithMessage("*is not allowed value*");
        }
        public void CustomObjectPropertyNotStringThrowsValidationException()
        {
            ForbiddenTestObject obj = new ForbiddenTestObject();

            ValidationContext ctx = new ValidationContext(obj);

            ctx.MemberName = "DemoObjects";

            Action act = () => Validator.ValidateProperty(obj.DemoObjects, ctx);

            act.ShouldThrowExactly <ValidationException>().WithMessage("Unknown property:*");
        }
        public void NullValueInListThrowsUnknownPropertyValidationException()
        {
            ForbiddenTestObject obj = new ForbiddenTestObject();

            ValidationContext ctx = new ValidationContext(obj);

            ctx.MemberName = "ContainsNullValue";

            Action act = () => Validator.ValidateProperty(obj.ContainsNullValue, ctx);

            act.ShouldThrowExactly <ValidationException>().WithMessage("Unknown property:*");
        }