Пример #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Cast"/> class.
        /// </summary>
        /// <param name="scenarioIdentity">The identity of the current scenario.</param>
        /// <param name="resolver">A service resolver instance.</param>
        public Cast(Guid scenarioIdentity, IResolvesServices resolver)
        {
            if (scenarioIdentity == Guid.Empty)
            {
                throw new ArgumentException(Resources.ExceptionFormats.ActorMustHaveAScenarioId, nameof(scenarioIdentity));
            }
            if (resolver == null)
            {
                throw new ArgumentNullException(nameof(resolver));
            }

            this.scenarioIdentity = scenarioIdentity;
            this.resolver         = resolver;
            actors = new Dictionary <string, IActor>();
        }
Пример #2
0
        public void GetValidatorManifestWithRuleContextShouldReturnAValidatorBuilder([Frozen] IServiceProvider serviceProvider,
                                                                                     ImportedValidatorBuilderManifestFactory sut,
                                                                                     IGetsValidatorBuilderContext ruleContextFactory,
                                                                                     IGetsRuleBuilder ruleBuilderFactory,
                                                                                     IGetsValueAccessorBuilder valueBuilderFactory,
                                                                                     IGetsValidatorManifest validatorManifestFactory,
                                                                                     IResolvesServices resolver,
                                                                                     [ManifestModel] ValidatorBuilderContext context)
        {
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValidatorBuilderContext))).Returns(ruleContextFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsRuleBuilder))).Returns(ruleBuilderFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValueAccessorBuilder))).Returns(valueBuilderFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValidatorManifest))).Returns(validatorManifestFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IResolvesServices))).Returns(resolver);
            Mock.Get(resolver).Setup(x => x.ResolveService <object>(typeof(GenericValidatorDefinition <object>))).Returns(() => new GenericValidatorDefinition <object>());

            var result = sut.GetValidatorManifest(typeof(GenericValidatorDefinition <object>), context);

            Assert.That(result, Is.InstanceOf <ValidatorBuilder <object> >());
        }
Пример #3
0
        public override void GrantAbilities(ICanReceiveAbilities actor, IResolvesServices resolver)
        {
            var resolveComponents = resolver.Resolve <ResolveComponentsFromAutofac>();

            actor.IsAbleTo(resolveComponents);
        }
Пример #4
0
 public UserAccountSteps(ICast cast, IResolvesServices resolver)
 {
     this.cast     = cast ?? throw new ArgumentNullException(nameof(cast));
     this.resolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
 }
Пример #5
0
 public override void GrantAbilities(ICanReceiveAbilities actor, IResolvesServices resolver)
 {
     actor.IsAbleTo <AddNumbers>();
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EqualityBuilder{T}"/> class.
 /// </summary>
 /// <param name="resolver">An optional object which will be used to resolve dependencies.</param>
 public EqualityBuilder(IResolvesServices resolver = null)
 {
     ruleBuilders  = new HashSet <RuleBuilder <T> >();
     this.resolver = resolver ?? new ActivatorServiceResolver();
 }
Пример #7
0
        PersistenceTestResult IConfiguresComparison <T> .WithEqualityRule(Func <EqualityBuilder <T>, EqualityBuilder <T> > equalityBuilderAction, IResolvesServices resolver)
        {
            if (equalityBuilderAction == null)
            {
                throw new ArgumentNullException(nameof(equalityBuilderAction));
            }

            var builder = new EqualityBuilder <T>(resolver);

            builder = equalityBuilderAction(builder);
            if (builder == null)
            {
                throw new ArgumentException("The equality builder action must not return null", nameof(equalityBuilderAction));
            }

            var rule = builder.Build();

            return(WithEqualityRule(rule));
        }
Пример #8
0
 /// <summary>
 /// Grants abilities to the actor.
 /// </summary>
 /// <param name="actor">An actor.</param>
 /// <param name="resolver">A service resolver, for resolving ability instances.</param>
 public virtual void GrantAbilities(ICanReceiveAbilities actor, IResolvesServices resolver) /* Intentional no-op */ }
Пример #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ComparerFactoryBuilder{T}"/> class.
 /// </summary>
 /// <param name="resolver">A service resolver.</param>
 public ComparerFactoryBuilder(IResolvesServices resolver)
 {
     this.resolver = resolver ?? throw new ArgumentNullException(nameof(resolver));
     Comparer      = null;
 }
Пример #10
0
 public override void GrantAbilities(ICanReceiveAbilities actor, IResolvesServices resolver)
 {
     GrantCount++;
     StaticGrantCount++;
 }
Пример #11
0
 ICast GetSut(Guid?scenarioGuid = null, IResolvesServices resolver = null)
 => new Cast(scenarioGuid.GetValueOrDefault(Guid.NewGuid()), resolver ?? Mock.Of <IResolvesServices>());
Пример #12
0
 public override void GrantAbilities(ICanReceiveAbilities actor, IResolvesServices resolver)
 {
 }
Пример #13
0
        public void GetValidatorFromBuilderTypeShouldReturnValidatorUsingBaseValidatorWrappedInThrowingBehaviour([Frozen, AutofixtureServices] IServiceProvider serviceProvider,
                                                                                                                 [Frozen] IResolvesServices resolver,
                                                                                                                 [Frozen] IGetsBaseValidator baseValidatorFactory,
                                                                                                                 [Frozen] IWrapsValidatorWithExceptionBehaviour exceptionBehaviourWrapper,
                                                                                                                 [Frozen] IGetsValidatedTypeForBuilderType builderTypeProvider,
                                                                                                                 [Frozen] IWrapsValidatorWithMessageSupport messageWrapper,
                                                                                                                 ValidatorFactory sut,
                                                                                                                 ValidatedObjectValidator builder,
                                                                                                                 IValidator <ValidatedObject> baseValidator)
        {
            var expectedValidatorMock = new Mock <IValidator <ValidatedObject> >();

            expectedValidatorMock.As <IValidator>();
            var expectedValidator    = expectedValidatorMock.Object;
            var messageValidatorMock = new Mock <IValidator <ValidatedObject> >();

            messageValidatorMock.As <IValidator>();
            var messageValidator = messageValidatorMock.Object;

            Mock.Get(resolver).Setup(x => x.ResolveService <object>(typeof(ValidatedObjectValidator))).Returns(builder);
            Mock.Get(builderTypeProvider).Setup(x => x.GetValidatedType(typeof(ValidatedObjectValidator))).Returns(typeof(ValidatedObject));
            Mock.Get(baseValidatorFactory).Setup(x => x.GetValidator(builder)).Returns(baseValidator);
            Mock.Get(messageWrapper).Setup(x => x.GetValidatorWithMessageSupport(baseValidator)).Returns(messageValidator);
            Mock.Get(exceptionBehaviourWrapper).Setup(x => x.WrapValidator(messageValidator)).Returns(expectedValidator);

            Assert.That(() => sut.GetValidator(typeof(ValidatedObjectValidator)), Is.SameAs(expectedValidator));
        }
Пример #14
0
        public void GetValidatorManifestShouldExecuteConfigureValidatorFromDefinitionUponBuilder([Frozen] IServiceProvider serviceProvider,
                                                                                                 ImportedValidatorBuilderManifestFactory sut,
                                                                                                 IGetsValidatorBuilderContext ruleContextFactory,
                                                                                                 IGetsRuleBuilder ruleBuilderFactory,
                                                                                                 IGetsValueAccessorBuilder valueBuilderFactory,
                                                                                                 IGetsValidatorManifest validatorManifestFactory,
                                                                                                 IResolvesServices resolver,
                                                                                                 [ManifestModel] ValidatorBuilderContext context,
                                                                                                 ValidatedObject obj)
        {
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValidatorBuilderContext))).Returns(ruleContextFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsRuleBuilder))).Returns(ruleBuilderFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValueAccessorBuilder))).Returns(valueBuilderFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IGetsValidatorManifest))).Returns(validatorManifestFactory);
            Mock.Get(serviceProvider).Setup(x => x.GetService(typeof(IResolvesServices))).Returns(resolver);
            Mock.Get(resolver).Setup(x => x.ResolveService <object>(typeof(ValidatedObjectDefinition))).Returns(() => new ValidatedObjectDefinition());

            sut.GetValidatorManifest(typeof(ValidatedObjectDefinition), context);

            Assert.That(() => context.ManifestValue.IdentityAccessor(obj),
                        Is.EqualTo(obj.Identity),
                        $@"Because the definition sets up the context to use the {nameof(ValidatedObject.Identity)} property
for identity, asserting that they are equal proves that the configuration function was executed.");
        }