Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }