/// <summary> /// Initialises a new instance of <see cref="ManifestFromBuilderProvider"/>. /// </summary> /// <param name="builderFactory">A factory for getting instances of <see cref="ValidatorBuilder{TValidated}"/>.</param> /// <exception cref="System.ArgumentNullException">If the <paramref name="builderFactory"/> is <see langword="null" />.</exception> public ManifestFromBuilderProvider(IGetsValidatorBuilder builderFactory) { this.builderFactory = builderFactory ?? throw new System.ArgumentNullException(nameof(builderFactory)); }
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); }