public void Can_Add_Or_Update_File_In_A_Folder() { var rootFolder = new FolderDirectoryItem("root", null); bool addNotified = false; bool updateNotified = false; rootFolder.ItemAdded += (sender, e) => { DirectoryItemAddedEventArgs args = e; IDirectoryItem newItem = e.NewItem; Assert.Equal("foo.txt", newItem.Name); addNotified = true; }; var addedFile = rootFolder.AddOrUpdateFile(new StringFileInfo("hi there", "foo.txt")); Assert.True(addNotified); Assert.False(updateNotified); addNotified = false; addedFile.Updated += (sender, e) => { Assert.Equal("foo.txt", e.NewItem.Name); updateNotified = true; }; var updatedFile = rootFolder.AddOrUpdateFile(new StringFileInfo("hi there modified", "foo.txt")); Assert.True(updateNotified); Assert.False(addNotified); }
public void Can_Watch_Directory_For_New_Items() { // Arrange IDirectory directory = new InMemoryDirectory(); var watcher = new DirectoryWatcher(directory); var watchPattern = "/some/dir/folder/newfile.*"; watcher.AddFilter(watchPattern); // bool notified = false; watcher.ItemAdded += (sender, e) => { DirectoryItemAddedEventArgs args = e.DirectoryItemEventArgs; var matchedFilters = e.MatchedFilters; IDirectoryItem newItem = args.NewItem; Assert.Equal("newfile.txt", newItem.Name); notified = true; }; directory.AddFile("/some/dir/folder/", new StringFileInfo("hi", "newfile.txt")); Assert.True(notified); notified = false; directory.AddFile("/some/dir/folder/", new StringFileInfo("shouldnt trigger", "anotherfile.txt")); Assert.False(notified); }
public void Can_Add_A_File_To_A_Folder() { var rootFolder = new FolderDirectoryItem("root", null); bool notified = false; rootFolder.ItemAdded += (sender, e) => { DirectoryItemAddedEventArgs args = e; IDirectoryItem newItem = e.NewItem; Assert.Equal("child", newItem.Name); notified = true; }; var childFolder = rootFolder.GetOrAddFolder("child"); Assert.True(notified); }