コード例 #1
0
        public async System.Threading.Tasks.Task DispatchAsync_Return_AwesomeResult()
        {
            //Arrange
            IServiceCollection services = new ServiceCollection();

            services.AddTransient <Factory>(p => p.GetService);
            services.AddTransient <IDispatcher, DynamicDispatcher>();
            services.AddTransient(typeof(AwesomeRequestHandler).GetInterfaces().First(), typeof(AwesomeRequestHandler));
            var provider = services.BuildServiceProvider();

            var dispatcher = provider.GetService <IDispatcher>();

            var response = new AwesomeRequest(dispatcher);

            //Act
            var result = await dispatcher.DispatchAsync(response, default);

            //Assert
            Assert.IsAssignableFrom <AwesomeResponse>(result);
        }
コード例 #2
0
        public async Task MediatrSendAsync()
        {
            var request = new AwesomeRequest();

            var response = await _mediator.Send(request, default);
        }
コード例 #3
0
        public async Task DynamicDispatcherDispatchAsync()
        {
            var request = new AwesomeRequest();

            var response = await _dynamicDispatcher.DispatchAsync(request, default);
        }
コード例 #4
0
        public async Task DispatcherWithExecutorDispatchAsync()
        {
            var request = new AwesomeRequest();

            var response = await _dispatcherWithExecutor.DispatchAsync(request, default);
        }