public async Task PlayTest002() { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); services.AddScoped <PlayService>(); services.AddRequestPipe(config => { //config.Solver }, register => { }); services.AddTransient <IRequestHandler <PlayRequest, PlayResponse>, PlayRequestHandler>(); using (var serviceProviderRoot = services.BuildServiceProvider()) { using (var scope = serviceProviderRoot.CreateScope()) { var scopeServices = scope.ServiceProvider; PlayRequestHandler handler = PlayRequestHandler.Create(scopeServices); var responce = await handler.ExecuteAsync( new PlayRequest() { A = 2, B = 40 }, CancellationToken.None, new RequestHandlerExecutionContext()); Assert.Equal(42, responce.Sum); } } }
public void RequestExecutionService_2_Test() { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); services.AddRequestPipe(); using (var serviceProviderRoot = services.BuildServiceProvider()) { using (var scope = serviceProviderRoot.CreateScope()) { var serviceProviderScope = scope.ServiceProvider; var sut = serviceProviderScope.GetRequiredService <IRequestExecutionService>(); Assert.NotNull(sut); } } }
public void RequestExecutionService_1_ArgumentNullException_Test() { { Assert.Throws <ArgumentNullException>(() => { var sut = new RequestExecutionService(new RequestPipeOptions(), (IServiceProvider)null); return(sut); }); } { Assert.Throws <ArgumentNullException>(() => { var sut = new RequestExecutionService(new RequestPipeOptions(), (IRequestHandlerFactory)null); return(sut); }); } { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); using (var serviceProviderRoot = services.BuildServiceProvider()) { var sut = new RequestExecutionService((RequestPipeOptions)null !, serviceProviderRoot); Assert.NotNull(sut); } } { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); services.AddRequestPipe(); using (var serviceProviderRoot = services.BuildServiceProvider()) { var sut = serviceProviderRoot.GetRequiredService <IRequestExecutionService>(); Assert.NotNull(sut); Assert.ThrowsAsync <ArgumentNullException>(() => { return(sut.ExecuteAsync <object>(null, CancellationToken.None, null)); }); } } { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); services.AddRequestPipe(); using (var serviceProviderRoot = services.BuildServiceProvider()) { using (var scope = serviceProviderRoot.CreateScope()) { var serviceProviderScope = scope.ServiceProvider; var sut = serviceProviderScope.GetRequiredService <IRequestExecutionService>(); Assert.NotNull(sut); Assert.ThrowsAsync <ArgumentNullException>(() => { return(sut.ExecuteAsync <object>(null, CancellationToken.None, null)); }); } } } }
public async Task RequestExecutionService_3_Test() { var services = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); services.AddRequestPipe( null, (builder) => { builder.AddRequestHandler <RequestHandlerGna>(); }); using (var serviceProviderRoot = services.BuildServiceProvider()) { using (var scope = serviceProviderRoot.CreateScope()) { var serviceProviderScope = scope.ServiceProvider; var sut = serviceProviderScope.GetRequiredService <IRequestExecutionService>(); Assert.NotNull(sut); var act = await sut.ExecuteAsync(new RequestGna() { A = 40, B = 2 }, CancellationToken.None, null); Assert.Equal(42, act.Sum); } } }