public async Task SaveFileAsync_FileDoNotExist_CanWriteAndRead()
        {
            var filePath    = "folder\\file 3.txt";
            var newFilePath = "folder\\file 4.txt";

            var existingFileAbsolutePath = originalStorage.AddFile(filePath);

            var stream = new FileStream(existingFileAbsolutePath, FileMode.Open);

            stream.Close();

            var newFile = new FilesBackup.Domain.File(newFilePath, 0);
            await Assert.ThrowsAsync <FileAccessFailedException>(() => _target.SaveFileAsync(newFile, stream));
        }
        public async Task SaveFileAsync_FileExists_CanWriteAndRead()
        {
            var filePath    = "folder\\file 3.txt";
            var newFilePath = "folder\\file 4.txt";

            var existingFileAbsolutePath = originalStorage.AddFile(filePath);

            using (var stream = new FileStream(existingFileAbsolutePath, FileMode.Open))
            {
                var newFile = new FilesBackup.Domain.File(newFilePath, stream.Length);
                await _target.SaveFileAsync(newFile, stream);
            }

            using (var fileContent = _target.GetFileContent(new FilesBackup.Domain.File(filePath, 0)))
            {
                Assert.True(fileContent.CanRead);
            }
        }