public void CopyTo() { using (var testDirectory = new Infrastructure.TestDirectory()) { var sourceFile = Path.Combine(testDirectory.FullPath, Guid.NewGuid().ToString()); var destinationFile = Path.Combine(testDirectory.FullPath, Guid.NewGuid().ToString()); var fileText = Guid.NewGuid().ToString(); File.WriteAllText(sourceFile, fileText); IItem destinationCopyFile = null; string destinationCopyPath = null; var file = new DirectorySync.Models.File(sourceFile); file.CopiedFromToEvent += (IItem destinationItem, string destinationPath) => { destinationCopyFile = destinationItem; destinationCopyPath = destinationPath; }; file.CopyTo(destinationFile).Wait(); Assert.True(File.Exists(sourceFile)); Assert.True(File.Exists(destinationFile)); Assert.Equal(fileText, File.ReadAllText(destinationFile)); Assert.NotNull(destinationCopyFile); Assert.Equal(destinationFile, destinationCopyFile.FullPath); Assert.Equal(destinationFile, destinationCopyPath); } }
public void Delete(bool isReadOnly) { IItem deletedFile = null; using (var testDirectory = new Infrastructure.TestDirectory()) { var sourceFile = Path.Combine(testDirectory.FullPath, Guid.NewGuid().ToString()); File.WriteAllBytes(sourceFile, new byte[0]); new FileInfo(sourceFile).IsReadOnly = isReadOnly; var file = new DirectorySync.Models.File(sourceFile); file.DeletedEvent += (IItem item) => { deletedFile = item; }; file.Delete().Wait(); Assert.Equal(file, deletedFile); Assert.False(File.Exists(sourceFile)); } }