public void VsShellUtils_GetOrCreateSonarLintOutputPane() { // Arrange var outputWindow = new ConfigurableVsOutputWindow(); var serviceProvider = new ConfigurableServiceProvider(); serviceProvider.RegisterService(typeof(SVsOutputWindow), outputWindow); // Act IVsOutputWindowPane pane = VsShellUtils.GetOrCreateSonarLintOutputPane(serviceProvider); // Assert outputWindow.AssertPaneExists(VsShellUtils.SonarLintOutputPaneGuid); pane.Should().NotBeNull(); var sonarLintPane = pane as ConfigurableVsOutputWindowPane; if (sonarLintPane == null) { FluentAssertions.Execution.Execute.Assertion.FailWith($"Expected returned pane to be of type {nameof(ConfigurableVsOutputWindowPane)}"); } sonarLintPane.IsActivated.Should().BeTrue("Expected pane to be activated"); sonarLintPane.Name.Should().Be(Strings.SonarLintOutputPaneTitle, "Unexpected pane name."); }