Example #1
0
        public void UnitTestFrameworkSettingsWithHandlersInDifferentInstances_CreateFramework_ConstructsTestProbeResolverWithCorrectHandlers()
        {
            //arrange
            Reply1 reply1                 = new Reply1();
            Reply2 reply2                 = new Reply2();
            Reply1 duplicateReply1        = new Reply1();
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings
                                            .Empty
                                            .RegisterHandler <DummyChildActor1, Message1>(message1 => reply1)
                                            .RegisterHandler <DummyChildActor2, Message2>(message1 => reply2);

            UnitTestFrameworkSettings differentInstance = sut
                                                          .RegisterHandler <DummyChildActor1, Message1>(message1 => duplicateReply1);

            //act
            sut.CreateFramework <DummyParentActor>(this);

            //assert
            HandlersPassedIntoShim.ShouldAllBeEquivalentTo(
                ImmutableDictionary <(Type, Type), Func <object, object> >
                .Empty
                .Add((typeof(DummyChildActor1), typeof(Message1)), message1 => reply1)
                .Add((typeof(DummyChildActor2), typeof(Message2)), message1 => reply2),
                options => options
                .Using <Func <object, object> >(context => context.Subject.Invoke(null).Should().BeSameAs(context.Expectation.Invoke(null)))
                .WhenTypeIs <Func <object, object> >());
        }
        public void TestProbeResolverSettings_Empty_DoesNotThrow()
        {
            //act
            Action act = () => { UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty; };

            //assert
            act.ShouldNotThrow();
        }
Example #3
0
        public void UnitTestFrameworkSettings_CreateFramework_ConstructsOnlyOneUnitTestFrameworkCreator()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty;

            //act
            sut.CreateFramework <DummyChildActor1>(TestKitPassedIntoSut);

            //assert
            UnitTestFrameworkCreatorConstructorCount.Should().Be(1);
        }
Example #4
0
        public void UnitTestFrameworkSettings_CreateFrameworkWithNullTestKit_ThrowsArgumentNullException()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty;

            //act
            Action act = () => sut.CreateFramework <DummyChildActor1>(null);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
Example #5
0
        public void UnitTestFrameworkSettings_CreateFramework_ConstructsOnlyOneUnitTestFrameworkCreator()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty;

            //act
            sut.CreateFramework <DummyParentActor>(TestKitPassedIntoSut, PropsPassedIntoSut, ExpectedChildrenCountPassedIntoSut);

            //assert
            UnitTestFrameworkCreatorConstructorCount.Should().Be(1);
        }
Example #6
0
        public void UnitTestFrameworkSettings_CreateFrameworkWithNullTestKitAndAndProps_ThrowsArgumentNullException()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty;

            //act
            Action act = () => sut.CreateFramework <DummyChildActor1>(null, (Props)null, ExpectedChildrenCountPassedIntoSut);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
        public void UnitTestFrameworkSettings_RegisterWithFactory_ThrowsArgumentNullException()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings.Empty;

            //act
            Action act = () => sut.RegisterHandler <DummyChildActor1, Message1>(null);

            //assert
            act.ShouldThrow <ArgumentNullException>();
        }
        public void UnitTestFrameworkSettings_RegisterWithFactory_ReturnsNewInstance()
        {
            //arrange
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings
                                            .Empty
                                            .RegisterHandler <DummyChildActor1, Message1>(message1 => TestUtils.Create <object>());

            //act
            UnitTestFrameworkSettings result = sut.RegisterHandler <DummyChildActor2, Message1>(message1 => TestUtils.Create <object>());

            //assert
            result.Should().NotBe(sut);
        }
Example #9
0
        public void UnitTestFrameworkSettingsWithHandlers_CreateFramework_ConstructsTestProbeResolverWithHandlersThatReceiveTheCorrectMessage()
        {
            //arrange
            Message1 actual = null;
            UnitTestFrameworkSettings sut = UnitTestFrameworkSettings
                                            .Empty
                                            .RegisterHandler <DummyChildActor1, Message1>(mess =>
            {
                actual = mess;
                return(new Reply1());
            });

            //act
            sut.CreateFramework <DummyParentActor>(this);

            //assert
            Message1 exptectedMessage = new Message1();

            HandlersPassedIntoShim[(typeof(DummyChildActor1), typeof(Message1))].Invoke(exptectedMessage);