public void SynchronizingObject_CalledOnEvent(WatcherChangeTypes expectedChangeType) { FileSystemEventHandler dele = (sender, e) => { Assert.Equal(expectedChangeType, e.ChangeType); }; TestISynchronizeInvoke invoker = new TestISynchronizeInvoke() { ExpectedDelegate = dele }; using (var testDirectory = new TempDirectory(GetTestFilePath())) using (var watcher = new TestFileSystemWatcher(testDirectory.Path, "*")) { watcher.SynchronizingObject = invoker; if (expectedChangeType == WatcherChangeTypes.Created) { watcher.Created += dele; watcher.CallOnCreated(new FileSystemEventArgs(WatcherChangeTypes.Created, "test", "name")); } else if (expectedChangeType == WatcherChangeTypes.Deleted) { watcher.Deleted += dele; watcher.CallOnDeleted(new FileSystemEventArgs(WatcherChangeTypes.Deleted, "test", "name")); } else if (expectedChangeType == WatcherChangeTypes.Changed) { watcher.Changed += dele; watcher.CallOnChanged(new FileSystemEventArgs(WatcherChangeTypes.Changed, "test", "name")); } Assert.True(invoker.BeginInvoke_Called); } }
public void FileSystemWatcher_OnChanged() { using (TestFileSystemWatcher watcher = new TestFileSystemWatcher()) { bool eventOccurred = false; object obj = null; FileSystemEventArgs actualArgs = null, expectedArgs = new FileSystemEventArgs(WatcherChangeTypes.Changed, "directory", "file"); watcher.Changed += (o, e) => { eventOccurred = true; obj = o; actualArgs = e; }; watcher.CallOnChanged(expectedArgs); Assert.True(eventOccurred, "Event should be invoked"); Assert.Equal(watcher, obj); Assert.Equal(expectedArgs, actualArgs); } }