public void StopStopsScanBeforeNextFile() { CodeSweep.VSPackage.BackgroundScanner_Accessor accessor = GetScanner(); int refreshes = 0; MockTaskList taskList = _serviceProvider.GetService(typeof(SVsTaskList)) as MockTaskList; taskList.OnRefreshTasks += delegate(object sender, MockTaskList.RefreshTasksArgs args) { ++refreshes; }; string firstFile = Utilities.CreateBigFile(); string secondFile = Utilities.CreateTempTxtFile("bar bar bar floop doop bar"); string termTable = Utilities.CreateTermTable(new string[] { "foo", "bar" }); Project project = Utilities.SetupMSBuildProject(new string[] { firstFile, secondFile }, new string[] { termTable }); MockIVsProject vsProject = Utilities.RegisterProjectWithMocks(project, _serviceProvider); accessor.Start(new IVsProject[] { vsProject }); accessor.StopIfRunning(true); // There should be one update, when the task list was initially cleared. Assert.AreEqual(1, refreshes, "Stop did not stop scan before next file."); }
public void IsRunning() { CodeSweep.VSPackage.BackgroundScanner_Accessor accessor = GetScanner(); int refreshes = 0; MockTaskList taskList = _serviceProvider.GetService(typeof(SVsTaskList)) as MockTaskList; taskList.OnRefreshTasks += delegate(object sender, MockTaskList.RefreshTasksArgs args) { ++refreshes; }; string firstFile = Utilities.CreateBigFile(); string secondFile = Utilities.CreateTempTxtFile("bar bar bar floop doop bar"); string termTable = Utilities.CreateTermTable(new string[] { "foo", "bar" }); Project project = Utilities.SetupMSBuildProject(new string[] { firstFile, secondFile }, new string[] { termTable }); MockIVsProject vsProject = Utilities.RegisterProjectWithMocks(project, _serviceProvider); accessor.Start(new IVsProject[] { vsProject }); Assert.IsTrue(accessor.IsRunning, "IsRunning was not true after Start."); accessor.StopIfRunning(false); Assert.IsTrue(accessor.IsRunning, "IsRunning was not true after Stop called while scan is still running."); }