public async Task HandleAsync_CanceledToken_ThrowsOperationCanceledException()
        {
            var wrapper  = new RequestHandlerWrapper <Ping, Pong>();
            var provider = new ServiceProvider(serviceType => null);

            using var source = new CancellationTokenSource();
            source.Cancel();

            await wrapper.HandleAsync(new Ping(), provider, source.Token);
        }
        public async Task HandleAsync_CommandAndRegisteredCommandHandler_HandlesTheCommand()
        {
            var wrapper  = new RequestHandlerWrapper <Idle, VoidUnit>();
            var provider = new ServiceProvider(serviceType =>
            {
                return(serviceType == typeof(IQueryHandler <Idle, VoidUnit>)
                    ? new SyncIdleHandler()
                    : null);
            });

            var request = new Idle();
            var actual  = await wrapper.HandleAsync(request, provider, default);

            actual.Should().Be(default);