public void CanPerformValidationWithSuppliedValidationResults() { MockValidator <string> subValidator1 = new MockValidator <string>(true, "validator1"); MockValidator <string> subValidator2 = new MockValidator <string>(true, "validator2"); MockValidator <string> subValidator3 = new MockValidator <string>(true, "validator3"); Validator validator = new OrCompositeValidator(subValidator1, subValidator2, subValidator3); validator.Tag = "tag"; string target = new string('a', 10); // just any string, but a new one ValidationResults validationResults = new ValidationResults(); validator.Validate(target, validationResults); Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(1, resultsList.Count); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.OrCompositeValidatorDefaultMessageTemplate, resultsList[0].Message)); Assert.AreEqual("tag", resultsList[0].Tag); IList <ValidationResult> nestedResultsList = ValidationTestHelper.GetResultsList(resultsList[0].NestedValidationResults); Assert.AreEqual(3, nestedResultsList.Count); Assert.AreEqual("validator1", nestedResultsList[0].Message); Assert.AreEqual("validator2", nestedResultsList[1].Message); Assert.AreEqual("validator3", nestedResultsList[2].Message); Assert.AreSame(target, subValidator1.ValidatedTargets[0]); Assert.AreSame(target, subValidator2.ValidatedTargets[0]); Assert.AreSame(target, subValidator3.ValidatedTargets[0]); }
public void SuppliesAppropriateParametersToMessageTemplate() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-10, DateTimeUnit.Day, 20, DateTimeUnit.Year); validator.MessageTemplate = "{0}|{1}|{2}|{3}|{4}|{5}|{6}"; validator.Tag = "tag"; object target = DateTime.Now.AddDays(-20); string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; System.Text.RegularExpressions.Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target.ToString(), match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("-10", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("Day", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("20", match.Groups["param5"].Value); Assert.IsTrue(match.Groups["param6"].Success); Assert.AreEqual("Year", match.Groups["param6"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { ValueAccess valueAccess = new MockValueAccess(5, "referenced key"); Validator validator = new ValueAccessComparisonValidator(valueAccess, ComparisonOperator.Equal); validator.MessageTemplate = "{0}|{1}|{2}|{3}|{4}|{5}"; validator.Tag = "tag"; object target = 6; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; System.Text.RegularExpressions.Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target.ToString(), match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("5", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("referenced key", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("Equal", match.Groups["param5"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { TypeConversionValidator validator = new TypeConversionValidator(typeof(int)); validator.MessageTemplate = "{0}-{1}-{2}-{3}"; validator.Tag = "tag"; object target = "not an int"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target.ToString(), match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("System.Int32", match.Groups["param3"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { RangeValidator validator = new RangeValidator(10, RangeBoundaryType.Exclusive, 20, RangeBoundaryType.Inclusive); validator.MessageTemplate = "{0}|{1}|{2}|{3}|{4}|{5}|{6}"; validator.Tag = "tag"; object target = 24; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target.ToString(), match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("10", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("Exclusive", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("20", match.Groups["param5"].Value); Assert.IsTrue(match.Groups["param6"].Success); Assert.AreEqual("Inclusive", match.Groups["param6"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { RelativeDateTimeValidator validator = new RelativeDateTimeValidator(-10, DateTimeUnit.Day, 20, DateTimeUnit.Year, true); validator.Tag = "tag"; object target = DateTime.Now.AddDays(-2); string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("-10", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("Day", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("20", match.Groups["param5"].Value); Assert.IsTrue(match.Groups["param6"].Success); Assert.AreEqual("Year", match.Groups["param6"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { StringLengthValidator validator = new StringLengthValidator(10, RangeBoundaryType.Exclusive, 20, RangeBoundaryType.Inclusive, true); validator.Tag = "tag"; object target = "not so short"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("10", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("Exclusive", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("20", match.Groups["param5"].Value); Assert.IsTrue(match.Groups["param6"].Success); Assert.AreEqual("Inclusive", match.Groups["param6"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { DomainValidator <int> validator = new DomainValidator <int>(false, 1, 2, 3, 4); validator.MessageTemplate = "{0}-{1}-{2}"; validator.Tag = "tag"; object target = 24; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target.ToString(), match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { ValueAccess valueAccess = new MockValueAccess(5, "referenced key"); Validator validator = new ValueAccessComparisonValidator(valueAccess, ComparisonOperator.NotEqual, null, true); validator.Tag = "tag"; object target = 6; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsFalse(match.Groups["param3"].Success); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("referenced key", match.Groups["param4"].Value); Assert.IsTrue(match.Groups["param5"].Success); Assert.AreEqual("NotEqual", match.Groups["param5"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { ContainsCharactersValidator validator = new ContainsCharactersValidator("abc", ContainsCharacters.All, true); validator.Tag = "tag"; object target = "blahc"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("abc", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("All", match.Groups["param4"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { EnumConversionValidator validator = new EnumConversionValidator(typeof(MockEnumValidator)); validator.MessageTemplate = "{0}|{1}|{2}|{3}"; validator.Tag = "tag"; object target = "blah"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target, match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual(typeof(MockEnumValidator).Name, match.Groups["param3"].Value); }
public void SuppliesAppropriateParametersToMessageTemplate() { ContainsCharactersValidator validator = new ContainsCharactersValidator("abc", ContainsCharacters.All); validator.MessageTemplate = "{0}|{1}|{2}|{3}|{4}"; validator.Tag = "tag"; object target = "blah"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; System.Text.RegularExpressions.Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(target, match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(key, match.Groups["param1"].Value); Assert.IsTrue(match.Groups["param2"].Success); Assert.AreEqual(validator.Tag, match.Groups["param2"].Value); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("abc", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual("All", match.Groups["param4"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { RegexValidator validator = new RegexValidator("^[ab]+$", RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace, true); validator.Tag = "tag"; object target = "ab"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("^[ab]+$", match.Groups["param3"].Value); Assert.IsTrue(match.Groups["param4"].Success); Assert.AreEqual((RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace).ToString(), match.Groups["param4"].Value); }
public void ReturnsFailureForStringLongerThanMaxLengthForMaxLengthOnlyValidator() { Validator <string> validator = new StringLengthValidator(10); ValidationResults validationResults = validator.Validate(new StringBuilder().Append('a', 11).ToString()); Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(1, resultsList.Count); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.StringLengthValidatorNonNegatedDefaultMessageTemplate, resultsList[0].Message)); }
public void ReturnsFailureForValueOutsideRange() { Validator <string> validator = new RangeValidator <string>("aaaa", RangeBoundaryType.Exclusive, "zzzz", RangeBoundaryType.Inclusive); ValidationResults validationResults = validator.Validate("0000"); Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(1, resultsList.Count); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.RangeValidatorNonNegatedDefaultMessageTemplate, resultsList[0].Message)); }
public void NegatedReturnFailureForNullString() { Validator <string> validator = new RegexValidator(RegexPattern, true); ValidationResults validationResults = validator.Validate(null); Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(1, resultsList.Count); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.RegexValidatorNegatedDefaultMessageTemplate, resultsList[0].Message)); }
public void ReturnFailureForNonMatchingStringUsingResourceRegex() { Validator <string> validator = new RegexValidator(RegexResourceName1, typeof(Properties.Resources)); ValidationResults validationResults = validator.Validate("asdfg"); Assert.IsFalse(validationResults.IsValid); IList <ValidationResult> resultsList = ValidationTestHelper.GetResultsList(validationResults); Assert.AreEqual(1, resultsList.Count); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.RegexValidatorNonNegatedDefaultMessageTemplate, resultsList[0].Message)); }
public void ValueRequestForNonMappedPropertyReturnsFailure() { Page page = TestContext.RequestedPage; PropertyProxyValidator validator = (PropertyProxyValidator)page.FindControl("NameValidator1"); ValueAccess valueAccess = new PropertyMappedValidatorValueAccess("InvalidProperty"); object value; string valueAccessFailureMessage; bool accessStatus = valueAccess.GetValue(validator, out value, out valueAccessFailureMessage); Assert.IsFalse(accessStatus); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.ErrorNonMappedProperty, valueAccessFailureMessage)); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { DomainValidator <int> validator = new DomainValidator <int>(true, 1, 2, 3, 4); validator.Tag = "tag"; object target = 1; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); }
public void GetValueConvertedWithDefaultConversionReturnsFailureIfConversionIsNotPossible() { object value = "00012345abc"; MockIntegrationProxy integrationProxy = new MockIntegrationProxy(value, "", ValidationSpecificationSource.Attributes, "IntProperty", typeof(MockValidatedType)); ValidationIntegrationHelper integrationHelper = new ValidationIntegrationHelper(integrationProxy); object retrievedValue; string valueRetrievalFailureMessage; bool status = integrationHelper.GetValue(out retrievedValue, out valueRetrievalFailureMessage); Assert.IsFalse(status); Assert.AreEqual(null, retrievedValue); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.ErrorCannotPerfomDefaultConversion, valueRetrievalFailureMessage)); Assert.AreEqual(null, originalConvertedValue); Assert.AreEqual(null, valueToConvert); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { TypeConversionValidator validator = new TypeConversionValidator(typeof(int), true); validator.Tag = "tag"; object target = "10"; string key = "key"; ValidationResults validationResults = new ValidationResults(); validator.DoValidate(target, null, key, validationResults); Assert.IsFalse(validationResults.IsValid); ValidationResult validationResult = ValidationTestHelper.GetResultsList(validationResults)[0]; System.Text.RegularExpressions.Match match = TemplateStringTester.Match(validator.MessageTemplate, validationResult.Message); Assert.IsTrue(match.Success); Assert.IsFalse(match.Groups["param0"].Success); Assert.IsFalse(match.Groups["param1"].Success); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual("System.Int32", match.Groups["param3"].Value); }