/// <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));
 }
예제 #2
0
        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);
        }