コード例 #1
0
        public static Validator Redirect(Validator source, ValidatorTarget target)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            switch (target)
            {
            case ValidatorTarget.AllKeys:
                return(new AllKeysValidatorAdapter(source));

            case ValidatorTarget.AllValues:
                return(new AllValuesValidatorAdapter(source));

            case ValidatorTarget.EachKey:
                return(new EachKeyValidatorAdapter(source));

            case ValidatorTarget.EachValue:
                return(new EachValueValidatorAdapter(source));

            case ValidatorTarget.EachKeyValuePair:
                return(new EachKeyValuePairValidatorAdapter(source));

            case ValidatorTarget.Value:
            default:
                return(source);
            }
        }
コード例 #2
0
        public void Redirect_should_generate_correct_validator(ValidatorTarget target)
        {
            if (target == ValidatorTarget.Value)
            {
                Assert.Pass();
            }

            var required  = new RequiredValidator();
            var validator = Validator.Redirect(required, target);

            Assert.Equal(target.ToString(), validator.GetType().Name.ToString().Replace("ValidatorAdapter", ""));
        }