public void RemovesFileFromQueueWhenDeleted() { var sourceDirectory = DirectoryHelper.CreateDirectoryWithFiles(); var targetDirectory = new MemoryDirectoryObject("targetDirectory"); var queue = new ManualTaskQueue(); var syncNet = new Processor(sourceDirectory, targetDirectory, queue); syncNet.ProcessSourceDirectory(); var fileToDelete = sourceDirectory.GetFiles().First(); (fileToDelete as MemoryFileObject).Exists = false; queue.ExecuteAll(); var fileObjects = targetDirectory.GetFiles().Where(x => x.Exists); Assert.AreEqual(1, fileObjects.Count()); Assert.AreEqual(DirectoryHelper.FileName2, fileObjects.First().Name); }
public void CountsFilesLeft() { var sourceDirectory = DirectoryHelper.CreateFullDirectory(); var targetDirectory = new MemoryDirectoryObject("directory"); var queue = new ManualTaskQueue(); var syncNet = new Processor(sourceDirectory, targetDirectory, queue); var progressUpdates = new List <SyncNetProgressChangedEventArgs>(); syncNet.ProgressChanged += delegate(Processor sender, SyncNetProgressChangedEventArgs e) { progressUpdates.Add(e); }; syncNet.ProcessSourceDirectory(); queue.ExecuteAll(); Assert.AreEqual(3, progressUpdates[0].FilesLeft); Assert.AreEqual(2, progressUpdates[1].FilesLeft); Assert.AreEqual(1, progressUpdates[2].FilesLeft); Assert.AreEqual(0, progressUpdates[3].FilesLeft); }