public void TestInitialize() { this.serviceProvider = new ConfigurableServiceProvider(); this.dte = new DTEMock(); this.dte.Solution = new SolutionMock(dte, Path.Combine(this.TestContext.TestRunDirectory, this.TestContext.TestName, "solution.sln")); this.serviceProvider.RegisterService(typeof(DTE), this.dte); var outputWindow = new ConfigurableVsOutputWindow(); this.outputPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); this.store = new ConfigurableCredentialStore(); this.projectSystemHelper = new ConfigurableVsProjectSystemHelper(this.serviceProvider); this.projectSystemHelper.SolutionItemsProject = this.dte.Solution.AddOrGetProject("Solution Items"); this.serviceProvider.RegisterService(typeof(IProjectSystemHelper), this.projectSystemHelper); this.sourceControlledFileSystem = new ConfigurableSourceControlledFileSystem(); this.serviceProvider.RegisterService(typeof(ISourceControlledFileSystem), this.sourceControlledFileSystem); this.solutionRuleSetsInfoProvider = new ConfigurableSolutionRuleSetsInformationProvider(); this.solutionRuleSetsInfoProvider.SolutionRootFolder = Path.GetDirectoryName(this.dte.Solution.FilePath); this.serviceProvider.RegisterService(typeof(ISolutionRuleSetsInformationProvider), this.solutionRuleSetsInfoProvider); var mefExport = MefTestHelpers.CreateExport <ILogger>(new SonarLintOutputLogger(serviceProvider)); var mefModel = ConfigurableComponentModel.CreateWithExports(mefExport); this.serviceProvider.RegisterService(typeof(SComponentModel), mefModel); }
public void TestInit() { this.serviceProvider = new ConfigurableServiceProvider(); this.projectHelper = new ConfigurableVsProjectSystemHelper(this.serviceProvider); this.serviceProvider.RegisterService(typeof(IProjectSystemHelper), this.projectHelper); this.ruleSetInfoProvider = new ConfigurableSolutionRuleSetsInformationProvider(); this.ruleSetInfoProvider.SolutionRootFolder = this.TestContext.TestRunDirectory; this.serviceProvider.RegisterService(typeof(ISolutionRuleSetsInformationProvider), this.ruleSetInfoProvider); this.fileSystem = new ConfigurableFileSystem(); this.serviceProvider.RegisterService(typeof(IFileSystem), this.fileSystem); this.configProvider = new ConfigurableConfigurationProvider(); this.serviceProvider.RegisterService(typeof(IConfigurationProvider), this.configProvider); this.inspector = new ConfigurableRuleSetInspector(); this.serviceProvider.RegisterService(typeof(IRuleSetInspector), this.inspector); var outputWindow = new ConfigurableVsOutputWindow(); this.outputWindowPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); this.dte = new DTEMock(); this.projectHelper.CurrentActiveSolution = new SolutionMock(dte); this.testSubject = new ConflictsManager(serviceProvider, new SonarLintOutputLogger(serviceProvider)); }
public void TestInit() { this.serviceProvider = new ConfigurableServiceProvider(); this.projectHelper = new ConfigurableVsProjectSystemHelper(this.serviceProvider); this.serviceProvider.RegisterService(typeof(IProjectSystemHelper), this.projectHelper); this.ruleSetInfoProvider = new ConfigurableSolutionRuleSetsInformationProvider(); this.ruleSetInfoProvider.SolutionRootFolder = this.TestContext.TestRunDirectory; this.serviceProvider.RegisterService(typeof(ISolutionRuleSetsInformationProvider), this.ruleSetInfoProvider); this.fileSystem = new ConfigurableFileSystem(); this.serviceProvider.RegisterService(typeof(IFileSystem), this.fileSystem); this.solutionBinding = new ConfigurableSolutionBindingSerializer(); this.serviceProvider.RegisterService(typeof(ISolutionBindingSerializer), this.solutionBinding); this.inspector = new ConfigurableRuleSetInspector(); this.serviceProvider.RegisterService(typeof(IRuleSetInspector), this.inspector); var outputWindow = new ConfigurableVsOutputWindow(); this.outputWindowPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); this.dte = new DTEMock(); this.projectHelper.CurrentActiveSolution = new SolutionMock(dte); }
public void ProjectSystemHelper_GetSolutionItemsProject() { // Arrange const string SolutionItemsName = "Hello world"; this.SetSolutionFolderName(SolutionItemsName); DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionItemsProject(true); // Assert project1.Should().NotBeNull("Could not find the solution items project"); project1.Name.Should().Be(SolutionItemsName, "Unexpected project name"); this.solutionMock.Projects.Count().Should().Be(1, "Unexpected project count"); project1.Should().Be(this.solutionMock.Projects.Single(), "Unexpected project"); // Act, ask again (exists already) Project project2 = this.testSubject.GetSolutionItemsProject(false); // Assert project2.Should().Be(project1, "Should be the same project as in the first time"); }
public SolutionMock(DTEMock dte, string solutionFile) : base(solutionFile) { this.dte = dte; if (this.dte != null) { this.dte.Solution = this; } }
public SolutionMock(DTEMock dte = null) : base("Solution.sln") { this.dte = dte; if (dte != null) { dte.Solution = this; } }
public void TestInitialize() { this.dte = new DTEMock(); this.serviceProvider = new ConfigurableServiceProvider(); this.solutionMock = new SolutionMock(dte, Path.Combine(SolutionRoot, "xxx.sln")); this.projectMock = this.solutionMock.AddOrGetProject(Path.Combine(SolutionRoot, @"Project\project.proj")); var outputWindow = new ConfigurableVsOutputWindow(); this.outputPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); }
public void TestInitialize() { this.monitorSelection = KnownUIContextsAccessor.MonitorSelectionService; this.serviceProvider = new ConfigurableServiceProvider(); this.serviceProvider.RegisterService(typeof(DTE), this.dte = new DTEMock()); this.serviceProvider.RegisterService(typeof(SComponentModel), ConfigurableComponentModel.CreateWithExports(MefTestHelpers.CreateExport <ITelemetryLogger>(this.logger = new ConfigurableTelemetryLogger()))); this.solutionRootFolder = Path.Combine(this.TestContext.TestRunDirectory, this.TestContext.TestName); this.dte.Solution = new SolutionMock(dte, Path.Combine(this.solutionRootFolder, "solution.sln")); }
public void TestInitialize() { this.monitorSelection = KnownUIContextsAccessor.MonitorSelectionService; this.serviceProvider = new ConfigurableServiceProvider(); this.serviceProvider.RegisterService(typeof(DTE), this.dte = new DTEMock()); this.serviceProvider.RegisterService(typeof(SComponentModel), ConfigurableComponentModel.CreateWithExports(MefTestHelpers.CreateExport<ITelemetryLogger>(this.logger = new ConfigurableTelemetryLogger()))); this.solutionRootFolder = Path.Combine(this.TestContext.TestRunDirectory, this.TestContext.TestName); this.dte.Solution = new SolutionMock(dte, Path.Combine(this.solutionRootFolder, "solution.sln")); }
public void GetSolutionFolderProject_WhenFolderDoesntExistButDontForceCreate_ExpectsANullProject() { /// Arrange var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, false); // Assert project1.Should().BeNull("Could not find the solution items project"); }
public void TestInitialize() { this.dte = new DTEMock(); this.serviceProvider = new ConfigurableServiceProvider(); this.solutionMock = new SolutionMock(dte, Path.Combine(SolutionRoot, "xxx.sln")); this.projectMock = this.solutionMock.AddOrGetProject(Path.Combine(SolutionRoot, @"Project\project.proj")); this.projectSystemHelper = new ConfigurableVsProjectSystemHelper(this.serviceProvider); var outputWindow = new ConfigurableVsOutputWindow(); this.outputPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); this.serviceProvider.RegisterService(typeof(IProjectSystemHelper), projectSystemHelper); this.testSubject = new SolutionRuleSetsInformationProvider(this.serviceProvider, new SonarLintOutputLogger(serviceProvider)); }
public void GetSolutionFolderProject_WhenCalledMultipleTimes_ReturnsSameProject() { // Arrange var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, true); // Act, ask again (exists already) Project project2 = this.testSubject.GetSolutionFolderProject(solutionFolderName, false); // Assert project2.Should().Be(project1, "Should be the same project as in the first time"); }
public void VsShellUtils_ActivateSolutionExplorer() { // Setup var serviceProvider = new ConfigurableServiceProvider(); var dteMock = new DTEMock(); serviceProvider.RegisterService(typeof(DTE), dteMock); // Sanity Assert.IsFalse(dteMock.ToolWindows.SolutionExplorer.Window.Active); // Act VsShellUtils.ActivateSolutionExplorer(serviceProvider); // Verify Assert.IsTrue(dteMock.ToolWindows.SolutionExplorer.Window.Active, "Expected to become Active"); }
public void VsShellUtils_ActivateSolutionExplorer() { // Arrange var serviceProvider = new ConfigurableServiceProvider(); var dteMock = new DTEMock(); serviceProvider.RegisterService(typeof(DTE), dteMock); // Sanity dteMock.ToolWindows.SolutionExplorer.Window.Active.Should().BeFalse(); // Act VsShellUtils.ActivateSolutionExplorer(serviceProvider); // Assert dteMock.ToolWindows.SolutionExplorer.Window.Active.Should().BeTrue("Expected to become Active"); }
public void GetSolutionFolderProject_WhenFolderDoesntExistButForceCreate_ExpectsANonNullProject() { /// Setup var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, true); // Verify Assert.IsNotNull(project1, "Could not find the solution items project"); Assert.AreEqual(solutionFolderName, project1.Name, "Unexpected project name"); Assert.AreEqual(1, this.solutionMock.Projects.Count(), "Unexpected project count"); Assert.AreSame(this.solutionMock.Projects.Single(), project1, "Unexpected project"); }
public void GetSolutionFolderProject_WhenFolderDoesntExistButForceCreate_ExpectsANonNullProject() { /// Arrange var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, true); // Assert project1.Should().NotBeNull("Could not find the solution items project"); project1.Name.Should().Be(solutionFolderName, "Unexpected project name"); this.solutionMock.Projects.Count().Should().Be(1, "Unexpected project count"); project1.Should().Be(this.solutionMock.Projects.Single(), "Unexpected project"); }
public void ProjectSystemHelper_GetSelectedProjects_ReturnsActiveProjects() { // Arrange var dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); var p1 = new ProjectMock("p1.proj"); var p2 = new ProjectMock("p1.proj"); var expectedProjects = new Project[] { p1, p2 }; dte.ActiveSolutionProjects = expectedProjects; // Act Project[] actualProjects = testSubject.GetSelectedProjects().ToArray(); // Assert CollectionAssert.AreEquivalent(expectedProjects, actualProjects, "Unexpected projects"); }
public void RemoveFileFromProject_WhenFileExistsAndProjectIsSolutionFolder_ExpectsFileToBeRemovedAndProjectRemoved() { // Arrange DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; var project = this.testSubject.GetSolutionFolderProject("foo", true); string file = @"x:\myFile.txt"; this.testSubject.AddFileToProject(project, file); this.testSubject.IsFileInProject(project, file).Should().BeTrue(); // Act this.testSubject.RemoveFileFromProject(project, file); // Assert project.ProjectItems.Should().BeEmpty("project should have no files"); this.solutionMock.Projects.Contains(project).Should().BeFalse("project should no longer be in solution"); }
public void TestInitialize() { this.serviceProvider = new ConfigurableServiceProvider(); this.dte = new DTEMock(); this.dte.Solution = new SolutionMock(dte, Path.Combine(this.TestContext.TestRunDirectory, this.TestContext.TestName, "solution.sln")); this.serviceProvider.RegisterService(typeof(DTE), this.dte); var outputWindow = new ConfigurableVsOutputWindow(); this.outputPane = outputWindow.GetOrCreateSonarLintPane(); this.serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); this.store = new ConfigurableCredentialStore(); this.projectSystemHelper = new ConfigurableVsProjectSystemHelper(this.serviceProvider); this.projectSystemHelper.SolutionItemsProject = this.dte.Solution.AddOrGetProject("Solution Items"); this.serviceProvider.RegisterService(typeof(IProjectSystemHelper), this.projectSystemHelper); this.sourceControlledFileSystem = new ConfigurableSourceControlledFileSystem(); this.serviceProvider.RegisterService(typeof(ISourceControlledFileSystem), this.sourceControlledFileSystem); this.solutionRuleSetsInfoProvider = new ConfigurableSolutionRuleSetsInformationProvider(); this.solutionRuleSetsInfoProvider.SolutionRootFolder = Path.GetDirectoryName(this.dte.Solution.FilePath); this.serviceProvider.RegisterService(typeof(ISolutionRuleSetsInformationProvider), this.solutionRuleSetsInfoProvider); }
public UIHierarchyMock(DTEMock dte) { this.dte = dte; this.Window = new WindowMock(); }
public void ProjectSystemHelper_GetSelectedProjects_ReturnsActiveProjects() { // Setup var dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); var p1 = new ProjectMock("p1.proj"); var p2 = new ProjectMock("p1.proj"); var expectedProjects = new Project[] { p1, p2 }; dte.ActiveSolutionProjects = expectedProjects; // Act Project[] actualProjects = testSubject.GetSelectedProjects().ToArray(); // Verify CollectionAssert.AreEquivalent(expectedProjects, actualProjects, "Unexpected projects"); }
public void RemoveFileFromProject_WhenFileExistsAndProjectIsSolutionFolder_ExpectsFileToBeRemovedAndProjectRemoved() { // Arrange DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; var project = this.testSubject.GetSolutionFolderProject("foo", true); string file = @"x:\myFile.txt"; this.testSubject.AddFileToProject(project, file); Assert.IsTrue(this.testSubject.IsFileInProject(project, file)); // Act this.testSubject.RemoveFileFromProject(project, file); // Assert Assert.AreEqual(0, project.ProjectItems.Count, "project should have no files"); Assert.IsFalse(this.solutionMock.Projects.Contains(project), "project should no longer be in solution"); }
public void GetSolutionFolderProject_WhenCalledMultipleTimes_ReturnsSameProject() { // Setup var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, true); // Act, ask again (exists already) Project project2 = this.testSubject.GetSolutionFolderProject(solutionFolderName, false); // Verify Assert.AreSame(project1, project2, "Should be the same project as in the first time"); }
public void GetSolutionFolderProject_WhenFolderDoesntExistButDontForceCreate_ExpectsANullProject() { /// Setup var solutionFolderName = "SomeFolderName"; DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionFolderProject(solutionFolderName, false); // Verify Assert.IsNull(project1, "Could not find the solution items project"); }
public void ProjectSystemHelper_GetSolutionItemsProject() { // Setup const string SolutionItemsName = "Hello world"; this.SetSolutionFolderName(SolutionItemsName); DTEMock dte = new DTEMock(); this.serviceProvider.RegisterService(typeof(DTE), dte); dte.Solution = this.solutionMock; // Act Project project1 = this.testSubject.GetSolutionItemsProject(true); // Verify Assert.IsNotNull(project1, "Could not find the solution items project"); Assert.AreEqual(SolutionItemsName, project1.Name, "Unexpected project name"); Assert.AreEqual(1, this.solutionMock.Projects.Count(), "Unexpected project count"); Assert.AreSame(this.solutionMock.Projects.Single(), project1, "Unexpected project"); // Act, ask again (exists already) Project project2 = this.testSubject.GetSolutionItemsProject(false); // Verify Assert.AreSame(project1, project2, "Should be the same project as in the first time"); }
public CommandsMock(DTEMock dte = null) { this.dte = dte; }
public ToolWindowsMock(DTEMock parent) { this.parent = parent; this.SolutionExplorer = new UIHierarchyMock(parent); }