public void TestProbeHandlersMapper_MapMultipleActorsWithMultipleHandlers_ReturnsCorrectResult() { //arrange (Type actor1, Type message1, Func <object, object> handler1) = CreateSettingsHandler(); (_, Type message2, Func <object, object> handler2) = CreateSettingsHandler(); (_, Type message3, Func <object, object> handler3) = CreateSettingsHandler(); (Type actor2, Type message4, Func <object, object> handler4) = CreateSettingsHandler(); (_, Type message5, Func <object, object> handler5) = CreateSettingsHandler(); TestProbeHandlersMapper sut = CreateTestProbeHandlersMapper(); //act MappedHandlers result = sut.Map(SettingsHandlers.Empty .Add((actor1, message1), handler1) .Add((actor1, message2), handler2) .Add((actor1, message3), handler3) .Add((actor2, message4), handler4) .Add((actor2, message5), handler5)); //assert result.ShouldAllBeEquivalentTo(MappedHandlers.Empty .Add(actor1, MappedMessageHandlers.Empty .Add(message1, handler1) .Add(message2, handler2) .Add(message3, handler3)) .Add(actor2, MappedMessageHandlers.Empty .Add(message4, handler4) .Add(message5, handler5))); }
public void TestProbeHandlersMapper_MapWithNullSettingsHandlers_ThrowsArgumentNullException() { //arrange TestProbeHandlersMapper sut = CreateTestProbeHandlersMapper(); //act Action act = () => sut.Map(null); //assert act.ShouldThrow <ArgumentNullException>(); }
public void TestProbeHandlersMapper_MapNoActors_ReturnsEmptyResult() { //arrange TestProbeHandlersMapper sut = CreateTestProbeHandlersMapper(); //act MappedHandlers result = sut.Map(SettingsHandlers.Empty); //assert result.Should().BeEmpty(); }
public void TestProbeHandlersMapper_MapASingleActorWithASingleHandler_ReturnsCorrectResult() { //arrange (Type actor, Type message, Func <object, object> handler) = CreateSettingsHandler(); TestProbeHandlersMapper sut = CreateTestProbeHandlersMapper(); //act MappedHandlers result = sut.Map(SettingsHandlers.Empty .Add((actor, message), handler)); //assert result.ShouldAllBeEquivalentTo(MappedHandlers.Empty .Add(actor, MappedMessageHandlers.Empty .Add(message, handler))); }
public TestBase() : base(AkkaConfig.Config) { // Create values passed into sut TestKitPassedIntoSut = this; HandlersPassedIntoSut = ImmutableDictionary <(Type, Type), Func <object, object> > .Empty .Add((typeof(DummyActor1), typeof(Message1)), message1 => new Reply1()) .Add((typeof(DummyActor1), typeof(Message2)), message1 => new Reply2()) .Add((typeof(DummyActor2), typeof(Message1)), message1 => new Reply1()); PropsPassedIntoSut = Props.Create <DummyActor1>(); NumberOfChildrenIntoSut = TestUtils.Create <int>(); // Create shims _shimContext = ShimsContext.Create(); // Set up shims ShimSutCreator.Constructor = @this => { SutCreatorConstructorCount++; ConstructedSutCreator = @this; }; ShimTellChildWaiter.Constructor = @this => { TellChildWaiterConstructorCount++; ConstructedTellChildWaiter = @this; }; ShimChildWaiter.Constructor = @this => { ChildWaiterConstructorCount++; ConstructedChildWaiter = @this; }; ShimDependencyResolverAdder.Constructor = @this => { DependencyResolverAdderConstructorCount++; ConstructedDependencyResolverAdder = @this; }; ShimTestProbeDependencyResolverAdder.Constructor = @this => { TestProbeDependencyResolverAdderConstructorCount++; ConstructedTestProbeDependencyResolverAdder = @this; }; ShimTestProbeCreator.Constructor = @this => { TestProbeCreatorConstructorCount++; ConstructedTestProbeCreator = @this; }; ShimResolvedTestProbeStore.Constructor = @this => { ResolvedTestProbeStoreConstructorCount++; ConstructedResolvedTestProbeStore = @this; }; ShimTestProbeActorCreator.Constructor = @this => { TestProbeActorCreatorConstructorCount++; ConstructedTestProbeActorCreator = @this; }; ShimTestProbeHandlersMapper.Constructor = @this => { TestProbeHandlersMapperConstructorCount++; ConstructedTestProbeHandlersMapper = @this; }; ShimSutSupervisorStrategyGetter.Constructor = @this => { SutSupervisorStrategyGetterConstructorCount++; ConstructedSutSupervisorStrategyGetter = @this; }; ShimUnitTestFramework <DummyActor1> .ConstructorISutCreatorITellChildWaiterIChildWaiterIDependencyResolverAdderITestProbeDependencyResolverAdderITestProbeCreatorIResolvedTestProbeStoreITestProbeActorCreatorITestProbeHandlersMapperISutSupervisorStrategyGetterImmutableDictionaryOfValueTupleOfTy = (@this, sutCreator, tellChildWaiter, childWaiter, dependencyResolverAdder, testProbeDependencyResolverAdder, testProbeCreator, resolvedTestProbeStore, testProbeActorCreator, testProbeHandlersMapper, sutSupervisorStrategyGetter, handlers, testKit, props, numberOfChildren) => { UnitTestFrameworkConstructorCount++; ConstructedUnitTestFramework = @this; SutCreatorPassedIntoShim = sutCreator; TellChildWaiterPassedIntoShim = tellChildWaiter; ChildWaiterPassedIntoShim = childWaiter; DependencyResolverAdderPassedIntoShim = dependencyResolverAdder; TestProbeDependencyResolverAdderPassedIntoShim = testProbeDependencyResolverAdder; TestProbeCreatorPassedIntoShim = testProbeCreator; ResolvedTestProbeStorePassedIntoShim = resolvedTestProbeStore; TestProbeActorCreatorPassedIntoShim = testProbeActorCreator; TestProbeHandlersMapperPassedIntoShim = testProbeHandlersMapper; SutSupervisorStrategyGetterIntoShim = sutSupervisorStrategyGetter; HandlersPassedIntoShim = handlers; TestKitPassedIntoShim = testKit; PropsPassedIntoShim = props; NumberOfChildrenIntoShim = numberOfChildren; }; }