public void TestProbeActorCreator_Create_UsesCorrectTestKitSettings() { //arrange TestProbeActorCreator sut = CreateTestProbeActorFactory(); //act ITestProbeActor result = sut.Create(this); //assert result.TestProbe.TestKitSettings.Should().BeSameAs(TestKitSettings); }
public void TestProbeActorCreator_Create_ReturnsTestProbeActor() { //arrange TestProbeActorCreator sut = CreateTestProbeActorFactory(); //act ITestProbeActor result = sut.Create(this); //assert result.Should().BeOfType <TestProbeActor>(); }
public void TestProbeActorCreator_Create_ReturnsTestProbeActor() { //arrange TestProbeActorCreator sut = CreateTestProbeCreator(); //act ITestProbeActor result = sut.Create( TestProbeCreatorPassedIntoSut, TestKitPassedIntoSut, HandlersPassedIntoSut); //assert AssertionExtensions.Should((object)result).BeSameAs(TestProbeActorReturnedByShim); }
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); });
public TestBase() : base(AkkaConfig.Config) { GenerateType = TestUtils.RandomTypeGenerator(); // Create mocks DependencyResolverAdderMock = new Mock <IDependencyResolverAdder>(); SutCreatorMock = new Mock <ISutCreator>(); ChildTellerMock = new Mock <IChildTeller>(); ChildWaiterMock = new Mock <IChildWaiter>(); TestProbeCreatorMock = new Mock <ITestProbeCreator>(); ResolvedTestProbeStoreMock = new Mock <IResolvedTestProbeStore>(); TestProbeActorCreatorMock = new Mock <ITestProbeActorCreator>(); TestProbeHandlersMapperMock = new Mock <ITestProbeHandlersMapper>(); TestProbeActorMock = new Mock <ITestProbeActor>(); // Create objects used by mocks CallOrder = new List <string>(); Supervisor = CreateTestProbe(); MappedHandlers = ImmutableDictionary <Type, ImmutableDictionary <Type, Func <object, object> > > .Empty; // Create objects passed into sut Handlers = ImmutableDictionary <(Type, Type), Func <object, object> > .Empty; Props = Props.Create <BlackHoleActor>(); ExpectedChildrenCount = TestUtils.Create <int>(); Message = TestUtils.Create <object>(); ChildName = TestUtils.Create <string>(); Recipient = new Mock <IActorRef>().Object; Sender = new Mock <IActorRef>().Object; ResolvedType = GenerateType(); ResolvedTestProbe = CreateTestProbe(); Actor = new BlackHoleActor(); ActorPath = TestUtils.Create <ActorPath>(); ActorTestProbe = CreateTestProbe(); // Create objects returned by mocks CreatedActor = ActorOfAsTestActorRef <BlackHoleActor>(Supervisor); CreatedActorNoProps = ActorOfAsTestActorRef <BlackHoleActor>(Supervisor); TestProbeActor = TestProbeActorMock.Object; // Set up mocks DependencyResolverAdderMock .Setup(adder => adder.Add(this, It.IsNotNull <Func <Type, ActorBase> >())) .Callback((TestKitBase testKit, Func <Type, ActorBase> resolveActor) => { ResolveActor = resolveActor; }); SutCreatorMock .Setup(creator => creator.Create <BlackHoleActor>(ChildWaiterMock.Object, this, Props, ExpectedChildrenCount, Supervisor)) .Returns(() => CreatedActor); SutCreatorMock .Setup(creator => creator.Create <BlackHoleActor>(ChildWaiterMock.Object, this, It.Is <Props>(props => !ReferenceEquals(props, Props) && props.Equals(Props.Create <BlackHoleActor>())), ExpectedChildrenCount, Supervisor)) .Returns(() => CreatedActorNoProps); ChildWaiterMock .Setup(waiter => waiter.ResolvedChild()) .Callback(() => CallOrder.Add(nameof(IChildWaiter.ResolvedChild))); TestProbeCreatorMock .SetupSequence(creator => creator.Create(this)) .Returns(Supervisor) .Throws(new ArithmeticException("Do not call probe creator twice")); ResolvedTestProbeStoreMock .Setup(store => store.ResolveProbe(It.IsAny <ActorPath>(), It.IsAny <Type>(), It.IsAny <TestProbe>())) .Callback(() => CallOrder.Add(nameof(IResolvedTestProbeStore.ResolveProbe))); ResolvedTestProbeStoreMock .Setup(store => store.FindResolvedType(TestActor, ChildName)) .Returns(() => ResolvedType); ResolvedTestProbeStoreMock .Setup(store => store.FindResolvedTestProbe(TestActor, ChildName)) .Returns(() => ResolvedTestProbe); TestProbeHandlersMapperMock .Setup(mapper => mapper.Map(Handlers)) .Returns((ImmutableDictionary <(Type, Type), Func <object, object> > handlers) => MappedHandlers); TestProbeActorCreatorMock .Setup(creator => creator.Create(this)) .Returns(() => TestProbeActor); TestProbeActorMock .SetupGet(actor => actor.TestProbe) .Returns(() => ActorTestProbe); TestProbeActorMock .SetupGet(actor => actor.ActorPath) .Returns(() => ActorPath); TestProbeActorMock .SetupGet(actor => actor.Actor) .Returns(() => Actor); }