Пример #1
0
        /// <summary>
        /// Builds an instance of the subtype of <typeparamref name="TObject"/> type the receiver knows how to build,  based on
        /// an a configuration object.
        /// </summary>
        /// <param name="context">The <see cref="IBuilderContext"/> that represents the current building process.</param>
        /// <param name="objectConfiguration">The configuration object that describes the object to build.</param>
        /// <param name="configurationSource">The source for configuration objects.</param>
        /// <param name="reflectionCache">The cache to use retrieving reflection information.</param>
        /// <returns>A fully initialized instance of the <typeparamref name="TObject"/> subtype.</returns>
        public ICallHandler Assemble(IBuilderContext context, CallHandlerData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache)
        {
            ValidationCallHandlerData castedHandlerData = (ValidationCallHandlerData)objectConfiguration;

            ValidationCallHandler callHandler = new ValidationCallHandler(castedHandlerData.RuleSet, castedHandlerData.SpecificationSource);

            return(callHandler);
        }
Пример #2
0
        public void ShouldCreateDefaultHandlerFromAttribute()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();
            ValidationCallHandler          handler   = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.AreEqual(SpecificationSource.Both, handler.SpecificationSource);
        }
        public void ShouldCreateDefaultHandlerFromAttribute()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();
            ValidationCallHandler          handler   = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.AreSame(ValidationFactory.DefaultCompositeValidatorFactory, handler.ValidatorFactory);
        }
Пример #4
0
        public void ShouldSetRulesetFromAttribute()
        {
            string ruleset = "Some Ruleset";
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute(ruleset);
            ValidationCallHandler          handler   = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(ruleset, handler.RuleSet);
            Assert.AreEqual(SpecificationSource.Both, handler.SpecificationSource);
        }
        public void ShouldSetRulesetFromAttribute()
        {
            string ruleset = "Some Ruleset";
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute(ruleset);
            ValidationCallHandler          handler   = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(ruleset, handler.RuleSet);
            Assert.IsTrue(handler.ValidatorFactory is CompositeValidatorFactory);
        }
Пример #6
0
        public void ShouldSetSpecificationSourceFromAttribute()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();

            attribute.SpecificationSource = SpecificationSource.ParameterAttributesOnly;
            ValidationCallHandler handler = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.AreEqual(SpecificationSource.ParameterAttributesOnly, handler.SpecificationSource);
        }
        public void ShouldUseNoValidatorFactoryIfSpecified()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();

            attribute.SpecificationSource = SpecificationSource.ParameterAttributesOnly;
            ValidationCallHandler handler = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.IsNull(handler.ValidatorFactory);
        }
        public void ShouldUseAttributeValidatorFactoryIfSpecified()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();

            attribute.SpecificationSource = SpecificationSource.Attributes;
            ValidationCallHandler handler = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.IsTrue(handler.ValidatorFactory is AttributeValidatorFactory);
        }
        public void ShouldUseConfigurationValidatorFactoryIfSpecified()
        {
            ValidationCallHandlerAttribute attribute = new ValidationCallHandlerAttribute();

            attribute.SpecificationSource = SpecificationSource.Configuration;
            ValidationCallHandler handler = GetHandlerFromAttribute(attribute);

            Assert.AreEqual(string.Empty, handler.RuleSet);
            Assert.AreSame(ValidationFactory.DefaultConfigurationValidatorFactory, handler.ValidatorFactory);
        }