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); } }
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", "")); }