public void PollingFileWatcher_FileAvailableAfterStart_FileIsFound() { var wasFileFound = false; var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>(); var fileWatcher = new PollingFileWatcher(fileDataSourceFactory, PollingFileWatcherTests.TestFilesDirectory); fileWatcher.ShouldIgnoreExistingFiles = false; fileWatcher.PollingInterval = TimeSpan.FromMilliseconds(100); fileDataSourceFactory.Expect(x => x.Create(Arg <string> .Is.Equal(this.FilePath))) .Return(new FileDataSource(dataReader: null, filePath: this.FilePath)) .Repeat.Once(); using (var waitSignal = new ManualResetEventSlim()) { fileWatcher.DataSourceAvailable += (sender, e) => { wasFileFound = ((IFileDataSource)e.DataSource).FilePath.Equals(this.FilePath); waitSignal.Set(); }; fileWatcher.Start(); File.WriteAllText(this.FilePath, String.Empty); waitSignal.Wait(TimeSpan.FromSeconds(1)); fileWatcher.Stop(); fileDataSourceFactory.VerifyAllExpectations(); Assert.IsTrue(wasFileFound); } }
public void PollingFileWatcher_FileAvailableAfterStartAndDoesNotMatchFilter_FileIsNotFound() { var wasFileFound = false; var filter = "*.zzz"; var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>(); var fileWatcher = new PollingFileWatcher(fileDataSourceFactory, PollingFileWatcherTests.TestFilesDirectory, filter); fileWatcher.ShouldIgnoreExistingFiles = false; fileWatcher.PollingInterval = TimeSpan.FromMilliseconds(100); using (var waitSignal = new ManualResetEventSlim()) { fileWatcher.DataSourceAvailable += (sender, e) => { wasFileFound = ((IFileDataSource)e.DataSource).FilePath.Equals(this.FilePath); waitSignal.Set(); }; fileWatcher.Start(); File.WriteAllText(this.FilePath, String.Empty); waitSignal.Wait(TimeSpan.FromSeconds(1)); fileWatcher.Stop(); fileDataSourceFactory.VerifyAllExpectations(); Assert.IsFalse(wasFileFound); } }
public void PollingFileWatcher_StartAndStop_NoExceptionIsThrown() { var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>(); var fileWatcher = new PollingFileWatcher(fileDataSourceFactory, PollingFileWatcherTests.TestFilesDirectory); fileWatcher.Start(); fileWatcher.Stop(); }