Ejemplo n.º 1
0
        public void FileWatcher_FileAvailableAfterStart_FileIsFound()
        {
            var wasFileFound          = false;
            var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>();
            var fileWatcher           = new MockFileWatcher(fileDataSourceFactory, FileWatcherTests.TestFilesDirectory);

            fileWatcher.ShouldIgnoreExistingFiles = false;

            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);

                fileWatcher.FindNewFilesPublic();
                waitSignal.Wait(TimeSpan.FromSeconds(1));
                fileWatcher.Stop();

                fileDataSourceFactory.VerifyAllExpectations();

                Assert.IsTrue(wasFileFound);
            }
        }
Ejemplo n.º 2
0
        public void FileWatcher_FileAvailableAfterStartAndDoesNotMatchFilter_FileIsNotFound()
        {
            var wasFileFound          = false;
            var filter                = "*.zzz";
            var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>();
            var fileWatcher           = new MockFileWatcher(fileDataSourceFactory, FileWatcherTests.TestFilesDirectory, filter);

            fileWatcher.ShouldIgnoreExistingFiles = false;

            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);

                fileWatcher.FindNewFilesPublic();
                waitSignal.Wait(TimeSpan.FromSeconds(1));
                fileWatcher.Stop();

                fileDataSourceFactory.VerifyAllExpectations();

                Assert.IsFalse(wasFileFound);
            }
        }
Ejemplo n.º 3
0
        public void Setup()
        {
            fileWatcher = new MockFileWatcher();
            var mockService = new Mock <IConfigurationService>();

            fileService = new FileWatcherConfigurationService((IConfigurationService)mockService.Object, fileWatcher);
        }
        public void Setup()
        {
            fileWatcher = new MockFileWatcher();
            IMock mockService = new DynamicMock(typeof(IConfigurationService));

            fileService = new FileWatcherConfigurationService((IConfigurationService)mockService.MockInstance, fileWatcher);
        }
Ejemplo n.º 5
0
        public void FileWatcher_StartAndStop_NoExceptionIsThrown()
        {
            var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>();
            var fileWatcher           = new MockFileWatcher(fileDataSourceFactory, FileWatcherTests.TestFilesDirectory);

            fileWatcher.Start();
            fileWatcher.Stop();
        }
Ejemplo n.º 6
0
        public void FileWatcher_DataSourceAvailableEventHandlerThrowsException_ErrorEventIsFired()
        {
            var errorEventWasFired    = false;
            var exception             = new InternalTestFailureException();
            var fileDataSourceFactory = MockRepository.GenerateMock <IFileDataSourceFactory>();
            var fileWatcher           = new MockFileWatcher(fileDataSourceFactory, FileWatcherTests.TestFilesDirectory);

            fileWatcher.ShouldIgnoreExistingFiles = false;

            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) => throw exception;
                fileWatcher.Error += (sender, e) =>
                {
                    errorEventWasFired = e.Exception.Equals(exception);

                    waitSignal.Set();
                };

                fileWatcher.Start();

                File.WriteAllText(this.FilePath, String.Empty);

                fileWatcher.FindNewFilesPublic();
                waitSignal.Wait(TimeSpan.FromSeconds(1));
                fileWatcher.Stop();

                fileDataSourceFactory.VerifyAllExpectations();

                Assert.IsTrue(errorEventWasFired);
            }
        }