public void SuppliesAppropriateParametersToMessageTemplate() { NotNullValidator validator = new NotNullValidator(); validator.MessageTemplate = "{0}|{1}|{2}"; validator.Tag = "tag"; object target = null; 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("", 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 CanConvertTemplateWithRepeatingParameters() { string template = @"feijf{0}[^epoaijf\]{1}\\]{1}\]"; string formattedString = string.Format(template, replacements); Regex templateRegex = TemplateStringTester.Translate(template); Assert.IsTrue(templateRegex.IsMatch(formattedString)); }
public void ConvertedTemplateWithRepeatingParametersDoesHonorParameterIdentity() { string template = @"feijf{0}[^epoaijf\]{1}\\]{1}\]"; string promiscuous = @"feijf{0}[^epoaijf\]{1}\\]{2}\]"; // will use parameter 2 instead of parameter 1 string formattedString = string.Format(promiscuous, replacements); Regex templateRegex = TemplateStringTester.Translate(template); Assert.IsFalse(templateRegex.IsMatch(formattedString)); }
public void RetrievalOfValueForNullReferenceReturnsFailure() { FieldInfo fieldInfo = typeof(BaseTestDomainObject).GetField("Field1"); ValueAccess valueAccess = new FieldValueAccess(fieldInfo); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue(null, out value, out valueAccessRetrievalFailure); Assert.IsFalse(status); Assert.IsNull(value); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.ErrorValueAccessNull, valueAccessRetrievalFailure)); }
public void RetrievalOfValueForInstanceOfNonRelatedTypeReturnsFailure() { PropertyInfo propertyInfo = typeof(BaseTestDomainObject).GetProperty("Property1"); ValueAccess valueAccess = new PropertyValueAccess(propertyInfo); object value; string valueAccessRetrievalFailure; bool status = valueAccess.GetValue("a string", out value, out valueAccessRetrievalFailure); Assert.IsFalse(status); Assert.IsNull(value); Assert.IsTrue(TemplateStringTester.IsMatch(Resources.ErrorValueAccessInvalidType, valueAccessRetrievalFailure)); }
public void CanExtractParameters() { string template = @"feijf{0}[^epoaijf\]{3}{1}\\]{1}\]"; string formattedString = string.Format(template, replacements); Match match = TemplateStringTester.Match(template, formattedString); Assert.IsTrue(match.Groups["param0"].Success); Assert.AreEqual(replacements[0], match.Groups["param0"].Value); Assert.IsTrue(match.Groups["param1"].Success); Assert.AreEqual(replacements[1], match.Groups["param1"].Value); Assert.IsFalse(match.Groups["param2"].Success); Assert.IsTrue(match.Groups["param3"].Success); Assert.AreEqual(replacements[3], match.Groups["param3"].Value); }
public void SuppliesAppropriateParametersToDefaultNegatedMessage() { NotNullValidator validator = new NotNullValidator(true); validator.Tag = "tag"; object target = "not null"; 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); }