public void Constructor_InvalidPattern() { var attr = new RegularExpressionAttribute("("); // Cannot test the exception message, because on the non-developer runtime of Silverlight // the exception string is not available. ExceptionHelper.ExpectArgumentException(() => attr.IsValid(""), null); }
public void CustomValidation_Method_Throws() { CustomValidationAttribute cva = new CustomValidationAttribute(typeof(MockValidator), "Throws"); Assert.AreEqual("Throws", cva.Method); ValidationContext context = new ValidationContext(new object(), null, null); ExceptionHelper.ExpectArgumentException(delegate() { cva.GetValidationResult("Fred", context); // valid call, but this method throws }, "o"); }
public void Validator_Fail_Property_Null_ValueType_Throws() { ValTestClass vtc = new ValTestClass(); ValidationContext context = new ValidationContext(vtc, null, null); context.MemberName = "DoubleProperty"; ExceptionHelper.ExpectArgumentException(delegate() { Validator.ValidateProperty(null, context); // DoubleProperty is a double and should fail }, String.Format(CultureInfo.CurrentCulture, DataAnnotationsResources.Validator_Property_Value_Wrong_Type, "DoubleProperty", typeof(double).FullName)); }
public void Validator_Instance_Must_Match_ValidationContext_Instance_For_Object_Validation() { ValidationContext context = new ValidationContext(this, null, null); ValTestClass instance = new ValTestClass(); // Without specifying validate all properties ExceptionHelper.ExpectArgumentException(() => Validator.TryValidateObject(instance, context, null), DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance); ExceptionHelper.ExpectArgumentException(() => Validator.ValidateObject(instance, context), DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance); // With specifying validate all properties ExceptionHelper.ExpectArgumentException(() => Validator.TryValidateObject(instance, context, null, true), DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance); ExceptionHelper.ExpectArgumentException(() => Validator.ValidateObject(instance, context, true), DataAnnotationsResources.Validator_InstanceMustMatchValidationContextInstance); }
public void Validator_Fail_Property_Type_Mismatch() { ValTestClass vtc = new ValTestClass(); ValidationContext context = new ValidationContext(vtc, null, null); context.MemberName = "RequiredProperty"; // IsValid entry point ExceptionHelper.ExpectArgumentException(delegate() { Validator.TryValidateProperty(2.0, context, null); // 2.0 s/b string }, String.Format(CultureInfo.CurrentCulture, DataAnnotationsResources.Validator_Property_Value_Wrong_Type, "RequiredProperty", typeof(string).FullName)); // Validate entry point ExceptionHelper.ExpectArgumentException(delegate() { Validator.ValidateProperty(2.0, context); // 2.0 s/b string }, String.Format(CultureInfo.CurrentCulture, DataAnnotationsResources.Validator_Property_Value_Wrong_Type, "RequiredProperty", typeof(string).FullName)); }