Ejemplo n.º 1
0
        public void DependencyResolverAdder_AddWithNullTestKitBaseAndActorFactory_ThrowsArgumentNullException()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();

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

            //assert
            act.Should().Throw <ArgumentNullException>();
        }
Ejemplo n.º 2
0
        public void DependencyResolverAdder_AddWithNullTestKitBase_ThrowsArgumentNullException()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();

            //act
            Action act = () => sut.Add(null, type => new BlackHoleActor());

            //assert
            act.Should().Throw <ArgumentNullException>();
        }
Ejemplo n.º 3
0
        public void DependencyResolverAdder_Add_FactoryIsGivenCorrectType()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();

            //act
            sut.Add(this, ActorFactory);

            //assert
            ActorOfAsTestActorRef <ActorBase>(Sys.DI().Props <DummyActor>());
            TypeGivenToFactory.Should().Be <DummyActor>();
        }
Ejemplo n.º 4
0
        public void DependencyResolverAdder_Add_ResultOfFactoryIsUsedToCreateActors()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();

            //act
            sut.Add(this, ActorFactory);

            //assert
            TestActorRef <ActorBase> result = ActorOfAsTestActorRef <ActorBase>(Sys.DI().Props <ActorBase>());

            result.UnderlyingActor.Should().BeSameAs(ReturnedActor);
        }
Ejemplo n.º 5
0
        public void DependencyResolverAdder_Add_LatestFactoryIsUsed()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();

            foreach (int _ in TestHelper.GenerateMany(TestHelper.GenerateNumber))
            {
                sut.Add(this, type => new Mock <ActorBase>().Object);
            }

            //act
            sut.Add(this, ActorFactory);

            //assert
            TestActorRef <ActorBase> result = ActorOfAsTestActorRef <ActorBase>(Sys.DI().Props <DummyActor>());

            result.UnderlyingActor.Should().BeSameAs(ReturnedActor);
        }
Ejemplo n.º 6
0
        public void DependencyResolverAdder_Add_FactoryIsGivenCorrectType()
        {
            //arrange
            DependencyResolverAdder sut = CreateDependencyResolverAdder();
            DummyActor actor            = new DummyActor();
            Type       actual           = null;

            //act
            sut.Add(this, type =>
            {
                actual = type;
                return(actor);
            });

            //assert
            ActorOfAsTestActorRef <ActorBase>(Sys.DI().Props <DummyActor>());
            actual.Should().Be <DummyActor>();
        }
Ejemplo n.º 7
0
        public TestBase() : base(AkkaConfig.Config)
        {
            // Create shims
            _shimContext = ShimsContext.Create();

            // Set up shims
            ShimDependencyResolverAdder.Constructor = @this =>
            {
                DependencyResolverAdderConstructorCount++;
                ConstructedDependencyResolverAdder = @this;
            };

            ShimConcreteDependencyResolverAdder.ConstructorIDependencyResolverAdder = (@this, dependencyResolverAdder) =>
            {
                ConcreteDependencyResolverAdderConstructorCount++;
                ConstructedConcreteDependencyResolverAdder = @this;
                DependencyResolverAdderPassedIntoShim      = dependencyResolverAdder;
            };
        }
Ejemplo n.º 8
0
        public void DependencyResolverAdder_Add_LatestFactoryIsUsed()
        {
            //arrange
            DependencyResolverAdder sut    = CreateDependencyResolverAdder();
            List <DummyActor>       actors = TestUtils.CreateMany <DummyActor>();

            foreach (DummyActor actor in actors.Take(actors.Count))
            {
                sut.Add(this, type => actor);
            }
            DummyActor expected = new DummyActor();

            //act
            sut.Add(this, type => expected);

            //assert
            TestActorRef <ActorBase> result = ActorOfAsTestActorRef <ActorBase>(Sys.DI().Props <DummyActor>());

            result.UnderlyingActor.Should().BeSameAs(expected);
        }
Ejemplo n.º 9
0
        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;
            };
        }