コード例 #1
0
        public async Task Should_handle_void_returning_side_effect()
        {
            //Arrange
            var services = new ServiceCollection();

            services.AddScoped <ISideEffectHandler <VoidReturning.SideEffect>, VoidReturning.Handler>();
            using var container = services.BuildServiceProvider();
            var sut = new SideEffectMediator(container);

            //Act
            var sideEffectHandlerType = await sut.Run(new VoidReturning.SideEffect());

            //Assert
            sideEffectHandlerType.Should().Be(Unit.Value);
        }
コード例 #2
0
        public async Task Should_handle_simple_side_effect()
        {
            //Arrange
            var services = new ServiceCollection();

            services.AddScoped <ISideEffectHandler <Simple.SideEffect, int>, Simple.Handler>();
            using var container = services.BuildServiceProvider();
            var sut = new SideEffectMediator(container);

            //Act
            var result = await sut.Run(new Simple.SideEffect(10));

            //Assert
            result.Should().Be(10);
        }
コード例 #3
0
        public async Task Should_handle_generic_side_effect()
        {
            //Arrange
            var services = new ServiceCollection();

            services.AddScoped(typeof(Generic.Handler <>));
            using var container = services.BuildServiceProvider();
            var sut = new SideEffectMediator(container);

            //Act
            var sideEffectHandler = await sut.Run(new Generic.SideEffect <int>());


            //Assert
            sideEffectHandler.Should().Be(0);
        }