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(); }
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(); }
public void ctor_Default() { var bufferingFileSystemWatcher = new BufferingFileSystemWatcher(); Assert.IsNotNull(bufferingFileSystemWatcher); bufferingFileSystemWatcher.EnableRaisingEvents = false; bufferingFileSystemWatcher.Dispose(); }
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); }
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); }
public void ctor_PathFilter() { var bufferingFileSystemWatcher = new BufferingFileSystemWatcher(_tempFolder, "*.txt"); Assert.AreEqual(bufferingFileSystemWatcher.Path, _tempFolder); Assert.IsNotNull(bufferingFileSystemWatcher); bufferingFileSystemWatcher.EnableRaisingEvents = false; bufferingFileSystemWatcher.Dispose(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }
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"); }
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(); }
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(); }
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."); }
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(); }