Folder moved event.
상속: FolderEvent
예제 #1
0
        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));
        }
예제 #4
0
        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);
        }