public DropBoxLink(DropBoxLinkParams dropBoxLinkParams, IEventAggregator aggregator) { this.aggregator = aggregator; var client = new DropboxClientFactory(dropBoxLinkParams.AccessToken).GetInstance(); var localFolderRoot = new LocalFolderRoot(dropBoxLinkParams.LocalFolderPath); this.cloudStorage = new DropBoxCloudStorage(client, dropBoxLinkParams.Card, dropBoxLinkParams.PrivateKeyPassword); this.localFolder = new LocalFolder(localFolderRoot, "Source"); this.localFolderWatcher = new LocalFolderWatcher(this.localFolder); this.serverFolder = new ServerFolder(); this.serverFolderWatcher = new DropboxFolderWatcher(client, this.serverFolder); this.operationsFactory = new OperationsFactory(this.cloudStorage, this.localFolder); this.serverFolder.Subscribe(this); this.localFolder.Subscribe(this); }
public void Test2() { var events = new List <LocalFolderWatcher.TimestampedEvent>() { Item(WatcherChangeTypes.Changed, "dir", "file1"), Item(WatcherChangeTypes.Changed, "dir", "file1"), Item(WatcherChangeTypes.Changed, "dir", "file1"), Item(WatcherChangeTypes.Changed, "dir", "file1"), Item(WatcherChangeTypes.Changed, "dir", "file1"), Item(WatcherChangeTypes.Deleted, "dir", "file1") }; var cleaned = LocalFolderWatcher.AggregateEvents(events); cleaned.Should().HaveCount(1); cleaned[0].ChangeType.Should().Be(WatcherChangeTypes.Deleted); }