示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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));
        }
示例#4
0
        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));
        }
示例#6
0
        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);
        }