IValidator <TValidated> GetValidatorPrivate <TValidated>(IBuildsValidator <TValidated> builder) { var validator = BaseValidatorFactory.GetValidator(builder); var messaageValidator = MessageSupportWrapper.GetValidatorWithMessageSupport(validator); return(ExceptionBehaviourWrapper.WrapValidator(messaageValidator)); }
/// <summary> /// Gets a validation manifest from the validator-builder. /// </summary> /// <typeparam name="TValidated">The validated object type.</typeparam> /// <param name="builder">The validation builder instance.</param> /// <returns>A validation manifest, created using the validation-builder.</returns> /// <exception cref="System.ArgumentNullException">If <paramref name="builder"/> is <see langword="null"/>.</exception> public ValidationManifest GetManifest <TValidated>(IBuildsValidator <TValidated> builder) { if (builder is null) { throw new System.ArgumentNullException(nameof(builder)); } var validatorBuilder = builderFactory.GetValidatorBuilder <TValidated>(); builder.ConfigureValidator(validatorBuilder); return(validatorBuilder.GetManifest()); }
/// <inheritdoc/> public IValidator <TValidated> GetValidator <TValidated>(IBuildsValidator <TValidated> builder) { var manifest = manifestFromBuilderFactory.GetManifest <TValidated>(builder); return((IValidator <TValidated>)validatorFromManifestProvider.GetValidator(manifest)); }
public void GetManifestShouldReturnManifestCreatedFromBuilderAndBuilderCustomisation([Frozen] IGetsValidatorBuilder builderFactory, ManifestFromBuilderProvider sut, IBuildsValidator <string> builder, IValidatorBuilder <string> validatorBuilder, [ManifestModel] ValidationManifest manifest) { Mock.Get(builderFactory) .Setup(x => x.GetValidatorBuilder <string>(It.IsAny <ValidatorBuilderContext>())) .Returns(validatorBuilder); Mock.Get(validatorBuilder) .Setup(x => x.GetManifest()) .Returns(manifest); var result = sut.GetManifest(builder); Assert.That(result, Is.SameAs(manifest)); Mock.Get(builder).Verify(x => x.ConfigureValidator(validatorBuilder), Times.Once); }
public void GetValidatorGenericShouldReturnGenericValidatorFromCreatedManifest([Frozen] IGetsManifestFromBuilder manifestFromBuilderProvider, [Frozen] IGetsValidatorFromManifest validatorFromManifestFactory, BaseValidatorFactory sut, IBuildsValidator <object> builder, [ManifestModel] ValidationManifest manifest) { Mock.Get(manifestFromBuilderProvider).Setup(x => x.GetManifest(builder)).Returns(manifest); var validator = new Mock <IValidator <object> >(); var nonGenericValidator = validator.As <IValidator>(); Mock.Get(validatorFromManifestFactory).Setup(x => x.GetValidator(manifest)).Returns(nonGenericValidator.Object); Assert.That(() => sut.GetValidator(builder), Is.SameAs(nonGenericValidator.Object)); }
/// <inheritdoc/> public IValidator <TValidated> GetValidator <TValidated>(IBuildsValidator <TValidated> builder) => GetValidatorPrivate(builder);