private void HandleFolderEvents(IFSEvent e) { var movedEvent = e as IFSMovedEvent; FolderEvent folderEvent; if (movedEvent != null) { folderEvent = new FolderMovedEvent( this.fsFactory.CreateDirectoryInfo(movedEvent.OldPath), this.fsFactory.CreateDirectoryInfo(movedEvent.LocalPath), null, null, this) { Local = MetaDataChangeType.MOVED }; } else { folderEvent = new FolderEvent(this.fsFactory.CreateDirectoryInfo(e.LocalPath), null, this); switch (e.Type) { case WatcherChangeTypes.Created: folderEvent.Local = MetaDataChangeType.CREATED; break; case WatcherChangeTypes.Changed: folderEvent.Local = MetaDataChangeType.CHANGED; break; case WatcherChangeTypes.Deleted: folderEvent.Local = MetaDataChangeType.DELETED; break; default: // This should never ever happen return; } } Queue.AddEvent(folderEvent); }
public void FolderMoved() { var folderEvent = new FolderMovedEvent(Mock.Of<IDirectoryInfo>(), Mock.Of<IDirectoryInfo>(), null, null) { Local = MetaDataChangeType.MOVED }; Assert.That(this.underTest.Analyse(Mock.Of<IMetaDataStorage>(), folderEvent), Is.EqualTo(SituationType.MOVED)); }
public void FolderMovedDetectionOnFolderMovedEvent() { var remoteObject = new Mock<IFolder>(); var folderEvent = new FolderMovedEvent(null, null, null, remoteObject.Object) { Remote = MetaDataChangeType.MOVED }; var underTest = new RemoteSituationDetection(); Assert.AreEqual(SituationType.MOVED, underTest.Analyse(this.storage.Object, folderEvent)); }
public void DoNotFilterIgnoredFolderRenameEvent() { this.SetupMocks(); var folderEvent = new FolderMovedEvent(Mock.Of<IDirectoryInfo>(d => d.FullName == this.ignoredPath), Mock.Of<IDirectoryInfo>(d => d.FullName == Path.Combine(Path.GetTempPath(), "newPath")), null, null, null); Assert.That(this.underTest.Handle(folderEvent), Is.False); }