Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        public void PollingFileWatcher_StartAndStop_NoExceptionIsThrown()
        {
            var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>();
            var fileWatcher           = new PollingFileWatcher(fileDataSourceFactory, PollingFileWatcherTests.TestFilesDirectory);

            fileWatcher.Start();
            fileWatcher.Stop();
        }