public SubstituteState(ICallSpecificationFactory callSpecificationFactory, ICallInfoFactory callInfoFactory, IReadOnlyCollection <IAutoValueProvider> autoValueProviders) { AutoValueProviders = autoValueProviders; var callCollection = new CallCollection(); ReceivedCalls = callCollection; CallBaseConfiguration = new CallBaseConfiguration(); CallResults = new CallResults(callInfoFactory); AutoValuesCallResults = new CallResults(callInfoFactory); CallActions = new CallActions(callInfoFactory); ResultsForType = new ResultsForType(callInfoFactory); CustomHandlers = new CustomHandlers(this); var getCallSpec = new GetCallSpec(callCollection, callSpecificationFactory, CallActions); ConfigureCall = new ConfigureCall(CallResults, CallActions, getCallSpec); EventHandlerRegistry = new EventHandlerRegistry(); }
public SubstituteState(ISubstitutionContext substitutionContext, SubstituteConfig option) { SubstitutionContext = substitutionContext; SubstituteConfig = option; SequenceNumberGenerator = substitutionContext.SequenceNumberGenerator; var substituteFactory = substitutionContext.SubstituteFactory; var callInfoFactory = new CallInfoFactory(); var callCollection = new CallCollection(); CallCollection = callCollection; ReceivedCalls = callCollection; PendingSpecification = new PendingSpecification(substitutionContext); CallResults = new CallResults(callInfoFactory); AutoValuesCallResults = new CallResults(callInfoFactory); CallSpecificationFactory = CallSpecificationFactoryFactoryYesThatsRight.CreateCallSpecFactory(); CallActions = new CallActions(callInfoFactory); CallBaseExclusions = new CallBaseExclusions(); ResultsForType = new ResultsForType(callInfoFactory); CustomHandlers = new CustomHandlers(this); var getCallSpec = new GetCallSpec(callCollection, PendingSpecification, CallSpecificationFactory, CallActions); ConfigureCall = new ConfigureCall(CallResults, CallActions, getCallSpec); EventHandlerRegistry = new EventHandlerRegistry(); AutoValueProviders = new IAutoValueProvider[] { #if NET45 || NETSTANDARD1_5 new AutoObservableProvider(() => AutoValueProviders), new AutoQueryableProvider(), #endif new AutoSubstituteProvider(substituteFactory), new AutoStringProvider(), new AutoArrayProvider(), #if (NET4 || NET45 || NETSTANDARD1_5) new AutoTaskProvider(() => AutoValueProviders), #endif }; }