Roslyn manager model
Inheritance: IOptionsModelBase
        public RoslynManagerViewModel(RoslynManagerModel model)
        {
            this.Header = "Roslyn Manager";
            this.model = model;
            this.BackGroundColor = Colors.White;
            this.ForeGroundColor = Colors.Black;
            this.AvailableDllDiagnostics = new ObservableCollection<VSSonarExtensionDiagnostic>();
            this.AvailableChecksInDll = new ObservableCollection<RoslynDiagnosticInterpretation>();

            foreach (var item in model.ExtensionDiagnostics)
            {
                AvailableDllDiagnostics.Add(item.Value);
            }

            SonarQubeViewModel.RegisterNewViewModelInPool(this);
        }
        public void DefaultContainsCorrectAmmoutOfChecks()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockNotifier = new Mock<INotificationManager>();
            var pluginAnalysis = new Mock<IAnalysisPlugin>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            var plugins = new List<IAnalysisPlugin>();
            plugins.Add(pluginAnalysis.Object);

            var roslynModel = new RoslynManagerModel(plugins, mockNotifier.Object, mockConfiguration.Object);

            Assert.That(roslynModel.ExtensionDiagnostics.Count, Is.EqualTo(2));
            Assert.That(roslynModel.ExtensionDiagnostics["SonarLint.dll"].AvailableChecks.Count, Is.EqualTo(88));
            Assert.That(roslynModel.ExtensionDiagnostics["SonarLint.Extra.dll"].AvailableChecks.Count, Is.EqualTo(10));
        }
        public void DefaultContainsCorrectAmmoutOfChecks()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockNotifier = new Mock<INotificationManager>();
            var pluginAnalysis = new Mock<IAnalysisPlugin>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ApplicationPath).Returns(runninPath);

            var plugins = new List<IAnalysisPlugin>();
            plugins.Add(pluginAnalysis.Object);

            var roslynModel = new RoslynManagerModel(plugins, mockNotifier.Object, mockConfiguration.Object, mockRest.Object);

            Assert.That(roslynModel.ExtensionDiagnostics.Count, Is.EqualTo(0));
        }
        public void AddsRoslynCheckOk()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockNotifier = new Mock<INotificationManager>();
            var pluginAnalysis = new Mock<IAnalysisPlugin>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            var plugins = new List<IAnalysisPlugin>();
            plugins.Add(pluginAnalysis.Object);

            var roslynModel = new RoslynManagerModel(plugins, mockNotifier.Object, mockConfiguration.Object);

            Assert.That(roslynModel.AddNewRoslynPack(Path.Combine(this.runninPath, "TestData", "SonarLintDummy.dll")), Is.True);
            Assert.That(roslynModel.ExtensionDiagnostics.Count, Is.EqualTo(3));

            Assert.That(roslynModel.AddNewRoslynPack(Path.Combine(this.runninPath, "externalAnalysers", "roslynDiagnostics", "SonarLint.dll")), Is.False);
            Assert.That(roslynModel.ExtensionDiagnostics.Count, Is.EqualTo(3));
        }