コード例 #1
0
        /// <summary>
        /// Creates a <see cref="ICallRouter"/> implementation.
        /// </summary>
        /// <param name="substitutionContext">The context.</param>
        /// <param name="config">The selected configuration.</param>
        /// <returns>The created implementation.</returns>
        public ICallRouter Create(ISubstitutionContext substitutionContext, SubstituteConfig config)
        {
            var substituteState = new SubstituteState(substitutionContext, config)
                                  .UpdateArgumentEqualsSpecificationFactory(new ArgumentFieldValueEqualsSpecificationFactory());

            return(new CallRouter(substituteState, substitutionContext, new RouteFactory()));
        }
コード例 #2
0
        /// <summary>
        /// Updates the <see cref="IArgumentEqualsSpecificationFactory"/> from the defaults.
        /// </summary>
        /// <param name="substituteState">The instance to update.</param>
        /// <param name="argumentEqualsSpecificationFactory">The new factory to use.</param>
        /// <returns>The updates state so that method chaining can occur.</returns>
        public static SubstituteState UpdateArgumentEqualsSpecificationFactory(this SubstituteState substituteState, IArgumentEqualsSpecificationFactory argumentEqualsSpecificationFactory)
        {
            var argumentSpecificationFactory = substituteState
                                               .CallSpecificationFactory
                                               .GetPrivateFieldValue("_argumentSpecificationsFactory")
                                               .GetPrivateFieldValue("_mixedArgumentSpecificationsFactory")
                                               .GetPrivateFieldValue("_argumentSpecificationFactory");

            argumentSpecificationFactory
            .GetPrivateFieldValue("_paramsArgumentSpecificationFactory")
            .SetPrivateFieldValue("_argumentEqualsSpecificationFactory", argumentEqualsSpecificationFactory)
            .GetPrivateFieldValue("_arrayArgumentSpecificationsFactory")
            .GetPrivateFieldValue("_nonParamsArgumentSpecificationFactory")
            .SetPrivateFieldValue("_argumentEqualsSpecificationFactory", argumentEqualsSpecificationFactory);

            argumentSpecificationFactory
            .GetPrivateFieldValue("_nonParamsArgumentSpecificationFactory")
            .SetPrivateFieldValue("_argumentEqualsSpecificationFactory", argumentEqualsSpecificationFactory);

            return(substituteState);
        }
コード例 #3
0
 public RoutePartsFactory(SubstituteState substituteState)
 {
     _substituteState = substituteState;
 }
コード例 #4
0
 public void Can_create_an_instance()
 {
     Assert.That(SubstituteState.Create(SubstitutionContext.Current), Is.Not.Null);
 }
コード例 #5
0
 public ICallRouter Create(ISubstitutionContext substitutionContext)
 {
     var substituteState = new SubstituteState(substitutionContext);
     var routePartsFactory = new RoutePartsFactory(substituteState);
     return new CallRouter(substitutionContext, substituteState.ResultSetter, new RouteFactory(routePartsFactory));
 }