public void SettingMessageTemplateWhenMessageTemplateResourceTypeIsSetThrows()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);

            attribute.MessageTemplateResourceType = typeof(TestResources);
            attribute.MessageTemplate = "template";
        }
        public void SettingMessageTemplateWhenMessageTemplateResourceNameIsSetThrows()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);

            attribute.MessageTemplateResourceName = "template resource";
            attribute.MessageTemplate = "template";
        }
        public void MessageTemplatePropertiesAreNullByDefault()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);

            Assert.AreEqual(null, attribute.MessageTemplate);
            Assert.AreEqual(null, attribute.MessageTemplateResourceName);
            Assert.AreEqual(null, attribute.MessageTemplateResourceType);
        }
        public void GetOverridenMessageTemplateFromResourceIfBothResourceNameAndTypeAreSet()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);
            attribute.MessageTemplateResourceName = "overriden";
            attribute.MessageTemplateResourceType = typeof(TestResources);

            Assert.AreEqual("overriden from resource", attribute.GetMessageTemplate());
        }
        public void GetsOverridenMessageTemplateIfMessageOverrideIsSet()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);
            attribute.MessageTemplate = "overriden";

            Assert.AreEqual("overriden", attribute.GetMessageTemplate());
        }
        public void GetsNullMessageTemplateIfNoOverridesAreSet()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);

            Assert.AreEqual(null, attribute.GetMessageTemplate());
        }
        public void RulesetNameIsEmptyStringByDefault()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);

            Assert.AreEqual("", attribute.Ruleset);
        }
        public void CreatedValidatorWillHaveOverridenMessageIfSpecified()
        {
            MockValidatorAttribute validatorAttribute = new MockValidatorAttribute(false);
            validatorAttribute.MessageTemplate = "message override";

            Validator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreEqual("message override", validator.MessageTemplate);
            Assert.IsNull(validator.Tag);
        }
        public void CreatedValidatorWillHaveTagIfSpecified()
        {
            MockValidatorAttribute validatorAttribute = new MockValidatorAttribute(false);
            validatorAttribute.Tag = "tag";

            Validator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreEqual(MockValidator.DefaultMockValidatorMessageTemplate, validator.MessageTemplate);
            Assert.AreEqual("tag", validator.Tag);
            Assert.AreEqual("tag", validatorAttribute.Tag);
        }
        public void AttributeCanCreateValidator()
        {
            MockValidatorAttribute validatorAttribute = new MockValidatorAttribute(false);

            Validator validator = ((IValidatorDescriptor)validatorAttribute).CreateValidator(null, null, null, null);

            Assert.IsNotNull(validator);
            Assert.AreEqual(MockValidator.DefaultMockValidatorMessageTemplate, validator.MessageTemplate);
            Assert.IsNull(validator.Tag);
        }
        public void RequestForMessageTemplateWhenOnlyResourceNameIsSetThrows()
        {
            ValidatorAttribute attribute = new MockValidatorAttribute(false);
            attribute.MessageTemplateResourceType = typeof(TestResources);

            attribute.GetMessageTemplate();
        }