public void BasicManagerStatusServiceTest()
        {
            var service = new ManagerStatusService();
            Assert.IsFalse(service.UpdatingFilesList);
            Assert.AreEqual(-1, service.TotalFilesCount);

            service.StartUpdatingFilesList();
            Assert.IsTrue(service.UpdatingFilesList);
            Assert.AreEqual(-1, service.TotalFilesCount);

            service.FinishUpdatingFilesList(42);
            Assert.IsFalse(service.UpdatingFilesList);
            Assert.AreEqual(42, service.TotalFilesCount);

            service.StartUpdatingFilesList();
            Assert.IsTrue(service.UpdatingFilesList);
            Assert.AreEqual(-1, service.TotalFilesCount);
        }
 public ManagerController(IShellService shellService, IEnvironmentService environmentService, IMusicFileContext musicFileContext, 
     SelectionService selectionService, ManagerStatusService managerStatusService, IFileSystemWatcherService fileSystemWatcherService, 
     Lazy<ManagerViewModel> managerViewModel)
 {
     this.shellService = shellService;
     this.environmentService = environmentService;
     this.musicFileContext = musicFileContext;
     this.selectionService = selectionService;
     this.managerStatusService = managerStatusService;
     this.fileSystemWatcherService = fileSystemWatcherService;
     this.managerViewModel = managerViewModel;
     this.musicFiles = new ObservableCollection<MusicFile>();
     this.updateSubDirectoriesCommand = new DelegateCommand(UpdateSubDirectories);
     this.navigateDirectoryUpCommand = new DelegateCommand(NavigateDirectoryUp, CanNavigateDirectoryUp);
     this.navigateHomeCommand = new DelegateCommand(NavigateHome);
     this.navigatePublicHomeCommand = new DelegateCommand(NavigatePublicHome);
     this.loadRecursiveCommand = new DelegateCommand(LoadRecursive);
     this.navigateToSelectedSubDirectoryCommand = new DelegateCommand(NavigateToSelectedSubDirectory);
     this.showMusicPropertiesCommand = new DelegateCommand(ShowMusicProperties);
 }