Exemple #1
0
        public void NotifyExistingFiles_All()
        {
            var path = Path.Join(_tempExistingFilesFolder, "test.txt");

            new StorageHostFullPathFilesystem().WriteStream(
                new MemoryStream(new byte[] { }), path);

            var watcher = new FileSystemWatcher(_tempExistingFilesFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.OrderByOldestFirst = true;

            var message = "";
            FileSystemEventHandler welcome = (_, s) =>
            {
                message = s.FullPath;
            };

            wrapper.All += welcome;

            wrapper.NotifyExistingFiles();

            Assert.IsTrue(message.StartsWith(_tempFolder));

            // and remove event
            wrapper.All -= welcome;

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #2
0
        public void NotifyExistingFiles()
        {
            var path = Path.Join(_tempExistingFilesFolder, "test.txt");

            new StorageHostFullPathFilesystem().WriteStream(
                new MemoryStream(new byte[] { }), path);

            var watcher = new FileSystemWatcher(_tempExistingFilesFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            var message = "";

            wrapper.Existed += (_, s) =>
            {
                message = s.FullPath;
            };

            wrapper.NotifyExistingFiles();

            Assert.IsTrue(message.StartsWith(_tempExistingFilesFolder));

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #3
0
        public void ctor_Default()
        {
            var bufferingFileSystemWatcher = new BufferingFileSystemWatcher();

            Assert.IsNotNull(bufferingFileSystemWatcher);

            bufferingFileSystemWatcher.EnableRaisingEvents = false;
            bufferingFileSystemWatcher.Dispose();
        }
Exemple #4
0
        public void InvokeHandler_ErrorEventHandler_Null()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            ErrorEventHandler t = null;
            var result          = wrapper.InvokeHandler(t, null);

            Assert.IsNull(result);
        }
Exemple #5
0
        public void RaiseBufferedEventsUntilCancelledInLoop_Changed()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);
            var args    = new RenamedEventArgs(WatcherChangeTypes.Changed,
                                               string.Empty, string.Empty, string.Empty);
            var result = wrapper.RaiseBufferedEventsUntilCancelledInLoop(args);

            Assert.AreEqual(WatcherChangeTypes.Changed, result);
        }
Exemple #6
0
        public void ctor_PathFilter()
        {
            var bufferingFileSystemWatcher = new BufferingFileSystemWatcher(_tempFolder, "*.txt");

            Assert.AreEqual(bufferingFileSystemWatcher.Path, _tempFolder);
            Assert.IsNotNull(bufferingFileSystemWatcher);

            bufferingFileSystemWatcher.EnableRaisingEvents = false;
            bufferingFileSystemWatcher.Dispose();
        }
Exemple #7
0
        public void RaiseBufferedEventsUntilCancelledInLoop_Renamed()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);
            var result  = wrapper.RaiseBufferedEventsUntilCancelledInLoop(new RenamedEventArgs(WatcherChangeTypes.Renamed, string.Empty, string.Empty, string.Empty));

            Assert.AreEqual(WatcherChangeTypes.Renamed, result);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #8
0
        public void Filter()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.Filter = "*.txt";

            Assert.AreEqual("*.txt", watcher.Filter);
            Assert.AreEqual("*.txt", wrapper.Filter);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #9
0
        public void InternalBufferSize()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.InternalBufferSize = 5000;

            Assert.AreEqual(5000, watcher.InternalBufferSize);
            Assert.AreEqual(5000, wrapper.InternalBufferSize);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #10
0
        public void InvokeHandler_RenamedEventHandler_Null()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            RenamedEventHandler t = null;
            var result            = wrapper.InvokeHandler(t, null);

            Assert.IsNull(result);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #11
0
        public void IncludeSubdirectories()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.IncludeSubdirectories = true;

            Assert.AreEqual(true, watcher.IncludeSubdirectories);
            Assert.AreEqual(true, wrapper.IncludeSubdirectories);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #12
0
        public void Site()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.Site = null;

            Assert.AreEqual(null, watcher.Site);
            Assert.AreEqual(null, wrapper.Site);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #13
0
        public void EventQueueCapacity()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.EventQueueCapacity = 32;

            // wrapper only
            Assert.AreEqual(32, wrapper.EventQueueCapacity);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #14
0
        public void OrderByOldestFirst()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.OrderByOldestFirst = true;

            // wrapper only
            Assert.AreEqual(true, wrapper.OrderByOldestFirst);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #15
0
        public void NotifyFilter()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);
            const NotifyFilters expectedFilter = new NotifyFilters();

            wrapper.NotifyFilter = expectedFilter;

            Assert.AreEqual(expectedFilter, watcher.NotifyFilter);
            Assert.AreEqual(expectedFilter, wrapper.NotifyFilter);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #16
0
        public void EnableRaisingEvents()
        {
            var watcher = new FileSystemWatcher(_tempFolder);

            watcher.Filter = "*.txt";

            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.EnableRaisingEvents = true;

            Assert.IsTrue(watcher.EnableRaisingEvents);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #17
0
        public void InvokeHandler_ErrorEventHandler()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            var message = string.Empty;
            ErrorEventHandler welcome = (_, s) =>
            {
                message = s.ToString();
            };

            wrapper.InvokeHandler(welcome, null);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #18
0
        public void BufferEvent()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.EventQueueCapacity = 1;

            wrapper.StopRaisingBufferedEvents();

            wrapper.BufferEvent(null, null);
            wrapper.BufferEvent(null, null);

            Assert.IsNull(watcher.SynchronizingObject);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #19
0
 public void Start()
 {
     _watchers.Clear();
     foreach (var filter in _watcherFilters)
     {
         var watcher = new BufferingFileSystemWatcher
         {
             Filter = filter,
             Path   = _rootPath,
             IncludeSubdirectories = true
         };
         _watchers.Add(watcher);
         watcher.Existed            += WatcherAction;
         watcher.Created            += WatcherAction;
         watcher.Renamed            += WatcherAction;
         watcher.Error              += WatcherError;
         watcher.EnableRaisingEvents = true;
         _logger.LogInformation($"Watcher with filter {filter} started");
     }
     _logger.LogInformation("Scan Sorter started");
 }
Exemple #20
0
        public void NotifyExistingFiles_Renamed_Remove()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.OrderByOldestFirst = true;

            var message = "";
            RenamedEventHandler welcome = (_, s) =>
            {
                message = s.FullPath;
            };

            wrapper.Renamed += welcome;
            wrapper.Renamed -= welcome;

            Assert.IsFalse(message.StartsWith(_tempFolder));

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #21
0
        public void NotifyExistingFiles_All_Remove()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.OrderByOldestFirst = true;

            var message = "";

            // ReSharper disable once EventUnsubscriptionViaAnonymousDelegate
            wrapper.All -= (_, s) =>
            {
                message = s.FullPath;
            };

            wrapper.NotifyExistingFiles();

            Assert.IsFalse(message.StartsWith(_tempFolder));

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }
Exemple #22
0
        static void RunBufferingWatcher()
        {
            using (var watcher = new BufferingFileSystemWatcher(TestPath))
            {
                watcher.All += (_, e) => { WriteLineInColor($"{e.ChangeType} {e.Name}", ConsoleColor.Yellow); };

                //watcher.Existed += (_, e) => { WriteLineInColor($"Existed {e.Name}", ConsoleColor.Yellow); };
                //watcher.Created += (_, e) => { WriteLineInColor($"Created {e.Name}", ConsoleColor.Yellow); };
                //watcher.Deleted += (_, e) => { WriteLineInColor($"Deleted {e.Name}", ConsoleColor.Yellow); };
                //watcher.Renamed += (_, e) => { WriteLineInColor($"Renamed {e.OldName} to {e.Name}", ConsoleColor.Yellow); };
                watcher.Error += (_, e) => { WriteLineInColor(e.GetException().Message, ConsoleColor.Red); };
                //watcher.EventQueueCapacity = 1;
                watcher.EnableRaisingEvents = true;

                //PromptUser("Interrupt...");
                //watcher.EnableRaisingEvents = false;
                //PromptUser("Interupted", ConsoleColor.Red);
                //watcher.EnableRaisingEvents = true;

                PromptUser("Processing...");
                Console.WriteLine("Stopping...");
            }
            PromptUser("Stopped.");
        }
Exemple #23
0
        public void NotifyExistingFiles_Error_Remove()
        {
            var watcher = new FileSystemWatcher(_tempFolder);
            var wrapper = new BufferingFileSystemWatcher(watcher);

            wrapper.OrderByOldestFirst = true;

            var message = "";
            ErrorEventHandler welcome = (_, s) =>
            {
                message = s.ToString();
            };

            wrapper.Error += welcome;
            wrapper.BufferingFileSystemWatcher_Error(null,
                                                     new ErrorEventArgs(new Exception("1")));
            wrapper.Error -= welcome;

            Assert.AreEqual("System.IO.ErrorEventArgs", message);

            wrapper.EnableRaisingEvents = false;
            wrapper.Dispose();
            watcher.Dispose();
        }