Example #1
0
        public void StopReturnsFalseIfAlreadyStopped()
        {
            IFileSystemWatcher fakeFileSystemWatcher = A.Fake <IFileSystemWatcher>();

            A.CallTo(() => fakeFileSystemWatcher.EnableRaisingEvents).Returns(false);
            FolderWatcher.FolderWatcher folderWatcher = new FolderWatcher.FolderWatcher(fakeFileSystemWatcher);

            bool isStopped = folderWatcher.Stop();

            Assert.False(isStopped);
        }
Example #2
0
        public void IsNotWatchingWhenEnableRaisingEventsIsFalse()
        {
            IFileSystemWatcher fakeFileSystemWatcher = A.Fake <IFileSystemWatcher>();

            A.CallTo(() => fakeFileSystemWatcher.EnableRaisingEvents).Returns(false);
            FolderWatcher.FolderWatcher folderWatcher = new FolderWatcher.FolderWatcher(fakeFileSystemWatcher);

            bool isWatching = folderWatcher.IsWatching();

            Assert.False(isWatching);
        }
Example #3
0
        public void Stops()
        {
            IFileSystemWatcher fakeFileSystemWatcher = A.Fake <IFileSystemWatcher>();

            A.CallTo(() => fakeFileSystemWatcher.EnableRaisingEvents).Returns(true);
            FolderWatcher.FolderWatcher folderWatcher = new FolderWatcher.FolderWatcher(fakeFileSystemWatcher);

            bool isStopped = folderWatcher.Stop();

            Assert.True(isStopped);
            A.CallToSet(() => fakeFileSystemWatcher.EnableRaisingEvents).To(false).MustHaveHappened();
        }
Example #4
0
        static void Main(string[] args)
        {
            InitializeLogger();
            if (!LoadConfiguration())
            {
                return;
            }

            try
            {
                FolderWatcher watcher = new FolderWatcher(new FileSystemWatcherWrapper(new FileSystemWatcher(path, filter)));
                watcher.Start();
                WaitForControlC();
                watcher.Stop();
            }
            catch (Exception e)
            {
                Log.Error(e, "Unexpected error");
            }
        }