public void AddFile(FileMock file) { if (_fileSystem is MemoryFileSystem) { var memoryFileStream = (MemoryFileSystem)_fileSystem; memoryFileStream.AddFile(file); return; } var dirPath = PathHelper.GetParent(file.Path); _fileSystem.CreateDir(dirPath); using (var stream = _fileSystem.OpenFile(file.Path, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { using (var s = file.GetStream()) { s.CopyTo(stream); } stream.Flush(); } }