/// <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())); }
/// <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); }
public RoutePartsFactory(SubstituteState substituteState) { _substituteState = substituteState; }
public void Can_create_an_instance() { Assert.That(SubstituteState.Create(SubstitutionContext.Current), Is.Not.Null); }
public ICallRouter Create(ISubstitutionContext substitutionContext) { var substituteState = new SubstituteState(substitutionContext); var routePartsFactory = new RoutePartsFactory(substituteState); return new CallRouter(substitutionContext, substituteState.ResultSetter, new RouteFactory(routePartsFactory)); }