public async Task CommitAsync_InsertNewEntity_AffectedOneRow()
        {
            // Arrange
            var dbContextOptionsBuilder = new DbContextOptionsBuilder <DbContext>().UseInMemoryDatabase(nameof(CommitAsync_InsertNewEntity_AffectedOneRow));
            var unitOfWork = new FakeUnitOfWork(
                dbContext => new FakeRepository(dbContext),
                dbContextOptionsBuilder.Options,
                "dbo"
                );

            var entity = new FakeEntity();

            await unitOfWork.FakeEntityRepository.InsertAsync(entity);

            // Act & Assert
            Assert.Equal(1, await unitOfWork.CommitAsync());
        }
        public async Task CommitAsync_UpdateNonexistentEntity_DataStorageException()
        {
            // Arrange
            var dbContextOptionsBuilder = new DbContextOptionsBuilder <DbContext>().UseInMemoryDatabase(nameof(CommitAsync_UpdateNonexistentEntity_DataStorageException));
            var unitOfWork = new FakeUnitOfWork(
                dbContext => new FakeRepository(dbContext),
                dbContextOptionsBuilder.Options,
                "dbo"
                );

            var entity = new FakeEntity {
                Id = -1
            };

            unitOfWork.FakeEntityRepository.Update(entity);

            // Act & Assert
            await Assert.ThrowsAsync <DataStorageException>(async() => await unitOfWork.CommitAsync());
        }