public void CanRetriveValiationResults() { var validator = new Validator(); var invalidObject = new SomeObject(); ICollection <IValidationResult> results = validator.ValidationResultsFor(invalidObject); Assert.AreEqual(1, results.Count); Assert.AreEqual("Name", results.First().PropertyName); Assert.AreEqual(typeof(SomeObject), results.First().ClassContext); Assert.AreEqual("Dude...the name please!!", results.First().Message); }
public void CanTransferValidationResultsToModelState() { //RegisterAdditionalServices(container); var validator = new Validator(); var invalidObject = new SomeObject { LastName = null, FirstName = "ThisFirstNameIsTooLong", Street = " ", MiddleName = "valid" }; Assert.IsFalse(validator.IsValid(invalidObject)); var results = validator.ValidationResultsFor(invalidObject); Assert.IsNotNull(results); Assert.AreEqual(3, results.Count, "Wrong number of validation messages encountered."); ModelStateDictionary modelState = new ModelStateDictionary(); Assert.IsNotNull(modelState); Assert.AreEqual(0, modelState.Values.Count); invalidObject.TransferValidationMessagesTo(modelState); Assert.AreEqual(3, modelState.Values.Count); var resultsList = new List <string>(); foreach (var result in modelState.Values) { foreach (var errs in result.Errors) { resultsList.Add(errs.ErrorMessage); } } var errors = new[] { "Dude...the name please!!", "The Street field is required.", "The field FirstName must be a string with a maximum length of 10." }; Assert.AreEqual(resultsList.Count, errors.Length, "Number of error messages do not match"); foreach (var error in errors) { Assert.IsTrue(resultsList.Contains(error), "Expected error \"" + error + "\" not found"); } }
public void ValidateRangeDoubleLongIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <long> { 3, 4, 5, 6, 7, 8, 9, 10 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorLong = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
public void ValidateRangeDoubleDecimalIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <decimal> { (decimal)3.01, (decimal)3.5, 4, (decimal)9.999, 10 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorDecimal = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
[TestMethod, Ignore] //Ignore vecause data annotations does not check list length public void ValidateRequiredAttributeEmptyList() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); objectTotest.RequiredListString = new List <string>(); ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results); Assert.AreEqual(1, results.Count); Assert.AreEqual("RequiredListString", results.First().PropertyName); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext); Assert.AreEqual("may not be null or empty", results.First().Message); }
public void ValidateRangeDoubleSpecialMessageIsNotValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); objectTotest.RangeDoubleValidatorSpecialMessage = 2; ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results); Assert.AreEqual(1, results.Count); Assert.AreEqual("RangeDoubleValidatorSpecialMessage", results.First().PropertyName); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext); Assert.AreEqual("Special Error message here!", results.First().Message); }
public void ValidateRangeDoubleNullableIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <double?> { null, 3, 3.5, 4 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorNullable = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
public void ValidateRequiredAttributeEmptyTest() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); objectTotest.RequiredValidatorString = string.Empty; ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results); Assert.AreEqual(1, results.Count); Assert.AreEqual("RequiredValidatorString", results.First().PropertyName); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext); Assert.AreEqual("The RequiredValidatorString field is required.", results.First().Message); }
public void ValidateRangeDoubleMaxOnlyIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <double> { 3, 2.99999, 2, 1, 0, -3.0E300 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorMaxOnly = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
public void ValidateRangeDoubleIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <double> { 1.01, 1.010001, 1.1, 1.999, 2, 2.0001, 2.4999999, 2.5 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidator = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
public void ValidateRangeDoubleFloatIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <float> { 3, (float)3.01, (float)3.5, 4, (float)9.999, 10 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorFloat = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
[TestMethod, Ignore] //DataAnnotations does not validate strings as doubles public void ValidateRangeDoubleStringIsValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <string> { null, "3", "3.5", "4", "3.0E2" }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorString = list; Assert.IsTrue(validator.IsValid(objectTotest), "Failed on: \"" + list + "\""); } }
public void CanValidateObject() { var validator = new Validator(); var invalidObject = new SomeObject(); Assert.IsFalse(validator.IsValid(invalidObject)); var validObject = new SomeObject { Name = "ValidName" }; Assert.IsTrue(validator.IsValid(validObject)); }
public void CanValidateCompleteObject() { var validator = new Validator(); var invalidObject = CreateValidCompleteObject(); invalidObject.RequiredValidatorString = null; Assert.IsFalse(validator.IsValid(invalidObject)); var validObject = CreateValidCompleteObject(); var validationErrors = validator.ValidationResultsFor(validObject); Assert.IsTrue(validator.IsValid(validObject)); }
public void ValidateRangeDoubleIsNotValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <double> { -1.1, -1, 0, 0.0001, 1, 1.0000001, 2.5000001, 3, 4, 4.1 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidator = list; ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results, "Failed on: \"" + list + "\""); Assert.AreEqual(1, results.Count, "Failed on: \"" + list + "\""); Assert.AreEqual("RangeDoubleValidator", results.First().PropertyName, "Failed on: \"" + list + "\""); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext, "Failed on: \"" + list + "\""); Assert.AreEqual("The field RangeDoubleValidator must be between 1.01 and 2.5.", results.First().Message, "Failed on: \"" + list + "\""); } }
public void ValidateRangeDoubleMaxOnlyIsNotValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <double> { 3.000001, 4, 2.0E200 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorMaxOnly = list; ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results, "Failed on: \"" + list + "\""); Assert.AreEqual(1, results.Count, "Failed on: \"" + list + "\""); Assert.AreEqual("RangeDoubleValidatorMaxOnly", results.First().PropertyName, "Failed on: \"" + list + "\""); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext, "Failed on: \"" + list + "\""); Assert.AreEqual("The field RangeDoubleValidatorMaxOnly must be between -1.79769313486232E+308 and 3.", results.First().Message, "Failed on: \"" + list + "\""); } }
public void ValidateRangeDoubleLongIsNotValidTests() { var validator = new Validator(); var objectTotest = CreateValidCompleteObject(); var doubleList = new List <long> { -3, -1, 0, 1, 2, 11, 12 }; foreach (var list in doubleList) { objectTotest.RangeDoubleValidatorLong = list; ICollection <IValidationResult> results = validator.ValidationResultsFor(objectTotest); Assert.IsNotNull(results, "Failed on: \"" + list + "\""); Assert.AreEqual(1, results.Count, "Failed on: \"" + list + "\""); Assert.AreEqual("RangeDoubleValidatorLong", results.First().PropertyName, "Failed on: \"" + list + "\""); Assert.AreEqual(typeof(CompleteObject), results.First().ClassContext, "Failed on: \"" + list + "\""); Assert.AreEqual("The field RangeDoubleValidatorLong must be between 3 and 10.", results.First().Message, "Failed on: \"" + list + "\""); } }
public void CanValidateObject() { var validator = new Validator(); var invalidObject = new SomeObject { LastName = "", FirstName = "ThisFirstNameIsTooLong", Street = null }; Assert.IsFalse(validator.IsValid(invalidObject)); var validObject = new SomeObject { LastName = "Last", FirstName = "First", Street = "SomeStreet" }; Assert.IsTrue(validator.IsValid(validObject)); }