public void FilePathModel_ToggleWatch_WatchIsNull()
        {
            String watchDirName      = GetTemporaryDirectory(@"c:\temp\uploader_tests_temp");
            var    _localPathSubject = new BehaviorSubject <String>(watchDirName);
            var    _settingsMock     = new Mock <ISettings>();

            _settingsMock.Setup(x => x.WatchPath).Returns(watchDirName);

            var _watcherMock   = new Mock <IWatcherObservable>();
            var _filePathModel = new FilePathModel(
                _settingsMock.Object,
                _localPathSubject,
                _watcherMock.Object)
            {
                watcher = null
            };

            Assert.That(_filePathModel.watcher, Is.Null);

            _filePathModel.ToggleWatch();

            //Verify we have a watcher
            Assert.That(_filePathModel.watcher, Is.Not.Null);
            Assert.True(_filePathModel.watcher.IsWatching());
        }
        public void BeforeEachTest()
        {
            this.settings              = new Mock <ISettings>();
            this.watchDirectoryName    = GetTemporaryDirectory(@"c:\temp\uploader_tests_temp");
            this.newWatchDirectoryName = GetTemporaryDirectory(@"C:\temp\uploader_tests_temp2\");
            this.localPathSubject      = new BehaviorSubject <String>(this.watchDirectoryName);
            this.watcherObservable     = new Mock <IWatcherObservable>();

            this.settings.Setup(x => x.WatchPath).Returns(this.watchDirectoryName);
            this.filePathModel = new FilePathModel(
                settings.Object,
                localPathSubject,
                watcherObservable.Object);
        }