Esempio n. 1
0
        public void ResolvedTestProbeStore_FindResolvedTypeWithNullParentRefAndChildName_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedType(null, null);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
        public void ResolvedTestProbeRepository_ResolveProbeWithNullActorPathAndTypeAndTestProbe_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(null, null, null);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
        public void ResolvedTestProbeStore_FindResolvedTypeWithNullParentRef_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedType(null, TestUtils.Create <string>());

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
Esempio n. 4
0
        public void ResolvedTestProbeStore_FindResolvedTestProbeWithNullChildName_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedTestProbe(TestActor, null);

            //assert
            act.Should().Throw <ArgumentNullException>();
        }
Esempio n. 5
0
        public void ResolvedTestProbeStore_FindResolvedTestProbeWithNullParentRef_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedTestProbe(null, TestHelper.GenerateString());

            //assert
            act.Should().Throw <ArgumentNullException>();
        }
Esempio n. 6
0
        public void ResolvedTestProbeStore_NoActorsAreResolved_FindResolvedType_ThrowsActorNotFoundException()
        {
            //arrange
            (ActorPath path, _, _, string name) = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedType(TestActor, name);

            //assert
            act.ShouldThrow <ActorNotFoundException>().WithMessage($"No child has been resolved for the path '{path}'");
        }
Esempio n. 7
0
        public void ResolvedTestProbeStore_FindResolvedTypeWithNullParentRef_ThrowsArgumentNullException()
        {
            //arrange
            (_, _, _, string name) = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.FindResolvedType(null, name);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
Esempio n. 8
0
        public void ResolvedTestProbeStore_SingleActorIsResolved_FindResolvedTypeWithNameThatHasBeenResolved_ReturnsCorrectTestProbe()
        {
            //arrange
            (ActorPath path, Type type, TestProbe probe, string name) = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            sut.ResolveProbe(path, type, probe);

            //act
            Type result = sut.FindResolvedType(TestActor, name);

            //assert
            result.Should().Be(type);
        }
        public void ResolvedTestProbeRepository_ResolveProbeWithNullType_ThrowsArgumentNullException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(
                TestUtils.Create <ActorPath>(),
                null,
                CreateTestProbe());

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
        public void ResolvedTestProbeStoreWithASingleActorResolved_FindResolvedSupervisorStrategyWithNameThatHasBeenResolvedWithoutASupervisorStrategy_ReturnsNull()
        {
            //arrange
            (ActorPath path, Type type, TestProbe probe, _, string name) = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            sut.ResolveProbe(path, type, probe, null);

            //act
            SupervisorStrategy result = sut.FindResolvedSupervisorStrategy(TestActor, name);

            //assert
            result.Should().BeNull();
        }
        public void ResolvedTestProbeRepository_ResolveProbe_DoesNotThrowException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(
                TestUtils.Create <ActorPath>(),
                TestUtils.Create <Type>(),
                CreateTestProbe());

            //assert
            act.ShouldNotThrow();
        }
Esempio n. 12
0
        public void ResolvedTestProbeStore_SingleActorIsResolved_FindResolvedTypeWithNameThatHasNotBeenResolved_ThrowsActorNotFoundException()
        {
            //arrange
            (ActorPath path1, Type type1, TestProbe probe1, _) = CreateChildVariables();
            (ActorPath path2, _, _, string name2) = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            sut.ResolveProbe(path1, type1, probe1);

            //act
            Action act = () => sut.FindResolvedType(TestActor, name2);

            //assert
            act.ShouldThrow <ActorNotFoundException>().WithMessage($"No child has been resolved for the path '{path2}'");
        }
Esempio n. 13
0
        public void ResolvedTestProbeStore_ResolveProbeWithNullTestProbe_DoesNotThrow()
        {
            //arrange
            var child = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(
                child.ActorPath,
                child.Type,
                child.TestProbe,
                null);

            //assert
            act.Should().NotThrow();
        }
Esempio n. 14
0
        public void ResolvedTestProbeStore_ResolveProbeWithNullActorPathAndTypeAndTestProbe_ThrowsArgumentNullException()
        {
            //arrange
            var child = CreateChildVariables();
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(
                null,
                null,
                null,
                child.SupervisorStrategy);

            //assert
            act.Should().Throw <ArgumentNullException>();
        }
Esempio n. 15
0
        public void ResolvedTestProbeStore_MultipleActorsAreResolved_FindResolvedTypeWithNameThatHasBeenResolved_ReturnsCorrectTestProbe()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            (ActorPath path1, Type type1, TestProbe probe1, _)            = CreateChildVariables();
            (ActorPath path2, Type type2, TestProbe probe2, string name2) = CreateChildVariables();
            (ActorPath path3, Type type3, TestProbe probe3, _)            = CreateChildVariables();
            sut.ResolveProbe(path1, type1, probe1);
            sut.ResolveProbe(path2, type2, probe2);
            sut.ResolveProbe(path3, type3, probe3);

            //act
            Type result = sut.FindResolvedType(TestActor, name2);

            //assert
            result.Should().Be(type2);
        }
Esempio n. 16
0
        public void ResolvedTestProbeStore_ResolveProbe_DoesNotThrowException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            //act
            Action act = () => sut.ResolveProbe(
                TestHelper.Generate <ActorPath>(),
                TestHelper.Generate <Type>(),
                CreateTestProbe(),
                new AllForOneStrategy(
                    TestHelper.GenerateNumber(),
                    TestHelper.GenerateNumber(),
                    exception => TestHelper.Generate <Directive>()));

            //assert
            act.Should().NotThrow();
        }
        public void ResolvedTestProbeStoreWithMultipleActorsResolved_FindResolvedSupervisorStrategyWithNameThatHasBeenResolvedWithoutASupervisorStrategy_ReturnsNull()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            (ActorPath path1, Type type1, TestProbe probe1, SupervisorStrategy supervisorStrategy1, _) = CreateChildVariables();
            (ActorPath path2, Type type2, TestProbe probe2, _, string name2) = CreateChildVariables();
            (ActorPath path3, Type type3, TestProbe probe3, SupervisorStrategy supervisorStrategy3, _) = CreateChildVariables();
            sut.ResolveProbe(path1, type1, probe1, supervisorStrategy1);
            sut.ResolveProbe(path2, type2, probe2, null);
            sut.ResolveProbe(path3, type3, probe3, supervisorStrategy3);

            //act
            SupervisorStrategy result = sut.FindResolvedSupervisorStrategy(TestActor, name2);

            //assert
            result.Should().BeNull();
        }
        public void ResolvedTestProbeStore_MultipleActorsAreResolved_FindResolvedTypeWithNameThatHasNotBeenResolved_ThrowsActorNotFoundException()
        {
            //arrange
            ResolvedTestProbeStore sut = CreateResolvedTestProbeStore();

            (ActorPath path1, Type type1, TestProbe probe1, SupervisorStrategy supervisorStrategy1, _) = CreateChildVariables();
            (ActorPath path2, Type type2, TestProbe probe2, SupervisorStrategy supervisorStrategy2, _) = CreateChildVariables();
            (ActorPath path3, Type type3, TestProbe probe3, SupervisorStrategy supervisorStrategy3, _) = CreateChildVariables();
            (ActorPath path4, _, _, _, string name4) = CreateChildVariables();
            sut.ResolveProbe(path1, type1, probe1, supervisorStrategy1);
            sut.ResolveProbe(path2, type2, probe2, supervisorStrategy2);
            sut.ResolveProbe(path3, type3, probe3, supervisorStrategy3);

            //act
            Action act = () => sut.FindResolvedType(TestActor, name4);

            //assert
            act
            .ShouldThrow <ActorNotFoundException>()
            .WithMessage($"No child has been resolved for the path '{path4}'");
        }
        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;
            };
        }