public void ReturnsInstance()
            {
                var optionsBuilder = new DbContextOptionsBuilder().UseInMemoryDatabase("test");
                var options        = optionsBuilder.Options;
                Func <Task <FakeDbContext> > dbContextFactory = () => Task.FromResult(new FakeDbContext(options));

                var instance =
                    new FuncFetchFromEntityFrameworkByInt32IdRequestHandler <RequestById, FakeDbContext, FakeAddAuditDbSet, int>(
                        dbContextFactory,
                        context => context.FakeAddAudit,
                        set => set.Id);

                Assert.NotNull(instance);
            }
            public async Task ReturnsResult()
            {
                var optionsBuilder = new DbContextOptionsBuilder().UseInMemoryDatabase("test");
                var options        = optionsBuilder.Options;
                Func <Task <FakeDbContext> > dbContextFactory = () => Task.FromResult(new FakeDbContext(options));

                var instance =
                    new FuncFetchFromEntityFrameworkByInt32IdRequestHandler <RequestById, FakeDbContext, FakeAddAuditDbSet, int>(
                        dbContextFactory,
                        context => context.FakeAddAudit,
                        set => set.Id);

                var request = new RequestById
                {
                    Id = 1
                };

                var response = await instance.Handle(
                    request,
                    CancellationToken.None).ConfigureAwait(false);
            }