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); }
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); }
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); }