public void Add( IDependencyResolverAdder dependencyResolverAdder, ITestProbeActorCreator testProbeActorCreator, ITestProbeCreator testProbeCreator, IResolvedTestProbeStore resolvedTestProbeStore, IChildWaiter childWaiter, TestKitBase testKit, ImmutableDictionary <Type, ImmutableDictionary <Type, Func <object, object> > > handlers) => dependencyResolverAdder.Add(testKit, actorType => { ImmutableDictionary <Type, Func <object, object> > actorHandlers = handlers.GetValueOrDefault(actorType, null); ITestProbeActor probeActor = testProbeActorCreator.Create(testProbeCreator, testKit, actorHandlers); resolvedTestProbeStore.ResolveProbe(probeActor.ActorPath, actorType, probeActor.TestProbe, probeActor.PropsSupervisorStrategy); childWaiter.ResolvedChild(); return(probeActor.Actor); });
internal ConcreteResolver( IDependencyResolverAdder resolverAdder, ISutCreator sutCreator, IChildTeller childTeller, IChildWaiter childWaiter, TestKitBase testKit, ImmutableDictionary <Type, Func <ActorBase> > factories) { _sutCreator = sutCreator; _childTeller = childTeller; _childWaiter = childWaiter; _testKit = testKit; _factories = factories; resolverAdder.Add(testKit, Resolve); }