public void CoverageInEditorSetAndGetTest() { var data = new ExtensionDataModel(this.service, this.vshelper, null); var sourceCoverage = new SourceCoverage(); data.CoverageInEditor = sourceCoverage; Assert.AreEqual(sourceCoverage, data.CoverageInEditor); }
public void DisableCoverageInEditor() { var data = new ExtensionDataModel(this.service, this.vshelper, null); var sourceCoverage = new SourceCoverage(); data.CoverageInEditorEnabled = false; Assert.IsFalse(data.CoverageInEditorEnabled); Assert.AreNotEqual(sourceCoverage, data.GetCoverageInEditor(string.Empty)); }
public void DisableCoverageInEditor() { var data = new ExtensionDataModel(this.service, this.vshelper, null); var sourceCoverage = new SourceCoverage(); data.CoverageInEditor = sourceCoverage; data.EnableCoverageInEditor = false; Assert.IsFalse(data.EnableCoverageInEditor); Assert.AreNotEqual(sourceCoverage, data.CoverageInEditor); Assert.AreEqual(0, data.CoverageInEditor.BranchHits.Count); Assert.AreEqual(0, data.CoverageInEditor.LinesHits.Count); }
public void UpdateCoverageDataForResourceEmtpyDataTest() { var element = new Resource { Date = new DateTime(2000, 1, 1) }; var source = new SourceCoverage(); this.service.Expect( mp => mp.GetResourcesData(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(new List<Resource> { element }) .Repeat.Once(); this.service.Expect( mp => mp.GetCoverageInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(source); var data = new ExtensionDataModel(this.service, this.vshelper, null); Assert.AreEqual(source, data.UpdateCoverageDataForResource("resource", false)); }
public void UpdateCoverageDataForResourceWithNewDateDataTest() { var element = new Resource(); var newResource = new Resource { Date = DateTime.Now }; var source1 = new SourceCoverage(); source1.SetLineCoverageData("1=0;2=3;2=3"); source1.SetBranchCoverageData("1=0;2=3;2=3", "1=0;2=3;2=3"); var source2 = new SourceCoverage(); this.service.Expect( mp => mp.GetResourcesData(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(new List<Resource> { element }) .Repeat.Once(); this.service.Expect( mp => mp.GetResourcesData(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(new List<Resource> { newResource }); this.service.Expect( mp => mp.GetCoverageInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(source1) .Repeat.Once(); this.service.Expect( mp => mp.GetCoverageInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(source2); var data = new ExtensionDataModel(this.service, this.vshelper, null); data.EnableCoverageInEditor = true; Assert.AreEqual(source1, data.UpdateCoverageDataForResource("resource", false)); Assert.AreEqual(source2, data.UpdateCoverageDataForResource("resource", false)); }
public void EnableCoverageInEditor() { var data = new ExtensionDataModel(this.service, this.vshelper, null); var sourceCoverage = new SourceCoverage(); var source = new Source { Lines = new List<Line> { new Line { Id = 1, Val = "#include bal" }, new Line { Id = 2, Val = "#include bals" } } }; var element = new Resource { Date = new DateTime(2000, 1, 1) }; this.service.Expect( mp => mp.GetResourcesData(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(new List<Resource> { element }) .Repeat.Twice(); this.service.Expect( mp => mp.GetSourceForFileResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(source); this.service.Expect( mp => mp.GetCoverageInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Equal("resource"))) .Return(sourceCoverage); element.Key = "resource"; data.ResourceInEditor = element; data.EnableCoverageInEditor = true; Assert.IsTrue(data.EnableCoverageInEditor); Assert.AreEqual(sourceCoverage, data.CoverageInEditor); Assert.AreEqual(element, data.ResourceInEditor); Assert.AreEqual(0, data.CoverageInEditor.BranchHits.Count); Assert.AreEqual(0, data.CoverageInEditor.LinesHits.Count); }
public void UpdateCoverageDataForResourceWithNewDateDataTest() { var newResource = new Resource { Date = DateTime.Now, Key = "resource" }; var source1 = new SourceCoverage(); source1.SetLineCoverageData("1=0;2=3;3=3"); source1.SetBranchCoverageData("1=0;2=3;3=3", "1=0;2=3;3=3"); this.service.Expect( mp => mp.GetResourcesData(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Anything)) .Return(new List<Resource> { newResource }); this.service.Expect( mp => mp.GetSourceForFileResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Anything)) .Return(new Source { Lines = new[] { "line1", "line2", "line3", "line4" } }) .Repeat.Once(); this.service.Expect( mp => mp.GetIssuesInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Anything)) .Return(new List<Issue>()) .Repeat.Once(); this.service.Expect( mp => mp.GetCoverageInResource(Arg<ConnectionConfiguration>.Is.Anything, Arg<string>.Is.Anything)) .Return(source1) .Repeat.Once(); this.plugin.Expect( mp => mp.GetResourceKey(Arg<VsProjectItem>.Is.Anything, Arg<string>.Is.Anything)) .Return("resource"); var data = new ExtensionDataModel(this.service, this.vshelper, null); data.AssociatedProject = new Resource { Key = "sonar.com:common" }; data.CoverageInEditorEnabled = true; data.RefreshDataForResource("resource"); var data1 = data.GetCoverageInEditor("ghfggfgf\r\nghfggfgf\r\nghfggfgf\r\nghfggfgf\r\n"); Assert.IsNotNull(data1); }
/// <summary> /// The update coverage DataCache. /// </summary> /// <param name="elem"> /// The elem. /// </param> /// <param name="coverageData"> /// The coverage DataCache. /// </param> private void UpdateCoverageData(EditorData elem, SourceCoverage coverageData) { if (coverageData == null) { return; } var tempCoverageLine = new Dictionary<int, CoverageElement>(); foreach (LineCoverage linemeasure in coverageData.LinesHits) { int line = linemeasure.Id - 1; tempCoverageLine.Add(line, linemeasure.Hits > 0 ? CoverageElement.LineCovered : CoverageElement.LineNotCovered); } foreach (BranchCoverage branchmeasure in coverageData.BranchHits) { int line = branchmeasure.Id - 1; if (tempCoverageLine.ContainsKey(line)) { if (branchmeasure.CoveredConditions == branchmeasure.TotalConditions) { tempCoverageLine[line] = CoverageElement.LineCovered; } else if (branchmeasure.CoveredConditions == 0) { tempCoverageLine[line] = CoverageElement.LineNotCovered; } else { tempCoverageLine[line] = CoverageElement.LinePartialCovered; } } else { if (branchmeasure.CoveredConditions == branchmeasure.TotalConditions) { tempCoverageLine.Add(line, CoverageElement.LineCovered); } else if (branchmeasure.CoveredConditions == 0) { tempCoverageLine.Add(line, CoverageElement.LineNotCovered); } else { tempCoverageLine.Add(line, CoverageElement.LinePartialCovered); } } } elem.CoverageData = tempCoverageLine; }
/// <summary> /// The update coverage DataCache. /// </summary> /// <param name="resource"> /// The resource. /// </param> /// <param name="coverageData"> /// The coverage DataCache. /// </param> /// <param name="issues"> /// The issues. /// </param> /// <param name="serverSource"> /// The server source. /// </param> public void UpdateResourceData(Resource resource, SourceCoverage coverageData, List<Issue> issues, string serverSource) { if (!DataCache.ContainsKey(resource.Key)) { DataCache.Add(resource.Key, new EditorData(resource)); } EditorData elem = DataCache[resource.Key]; elem.ServerSource = serverSource; this.UpdateCoverageData(elem, coverageData); this.UpdateIssuesData(elem, issues); }