private void RepaintComplexity(ITextSnapshot textSnapshot) { layer.RemoveAllAdornments(); options.LoadSettingsFromStorage(); foreach (var pair in methodToText) { var geometry = view.TextViewLines.GetMarkerGeometry(textSnapshot.GetLineFromLineNumber(pair.Key.Decleration.Line).Extent); var isMethodVisible = geometry != null; if (!isMethodVisible) { continue; } string methodText = methodToText[pair.Key]; var complexityViewModel = new ComplexityViewModel(options); var complexityView = new ComplexityView { DataContext = complexityViewModel }; new Task(() => complexityViewModel.UpdateComplexity(complexityCalculator.Calculate(methodText))).Start(); Canvas.SetLeft(complexityView, geometry.Bounds.Left); Canvas.SetTop(complexityView, geometry.Bounds.Top); layer.AddAdornment(AdornmentPositioningBehavior.ViewportRelative, null, null, complexityView, null); } }
private void RepaintComplexity(ITextSnapshot textSnapshot) { layer.RemoveAllAdornments(); options.LoadSettingsFromStorage(); foreach (var pair in syntaxNodes) { var line = textSnapshot.GetLineFromLineNumber(pair.Key.Declaration.Line); var geometry = view.TextViewLines.GetMarkerGeometry(line.Extent); var isMethodVisible = geometry != null; if (!isMethodVisible) { continue; } var complexityViewModel = new ComplexityViewModel(options); var complexityView = new ComplexityView { DataContext = complexityViewModel }; CreateTask(complexityViewModel, pair.Key).Start(); Canvas.SetLeft(complexityView, geometry.Bounds.Left); Canvas.SetTop(complexityView, geometry.Bounds.Top); layer.AddAdornment(AdornmentPositioningBehavior.ViewportRelative, null, null, complexityView, null); } }
private static ComplexityViewModel AssigComplexity(Mock <IOptions> optionsMock, int expected = Expected) { Mock <ICyclomaticComplexity> mockComplexity = CreateComplexityMock(expected); var model = new ComplexityViewModel(optionsMock.Object); model.UpdateComplexity(mockComplexity.Object); return(model); }
public void MiminumToShow7Complexity5_GetVisible_ReturnsFalse() { ComplexityViewModel model = CreateViewModelByOptions(7); Assert.That(model.Visible, Is.False); }
public void MiminumToShow5Complexity5_GetVisible_ReturnsTrue() { ComplexityViewModel model = CreateViewModelByOptions(5); Assert.That(model.Visible, Is.True); }
public void AfterUpdateComplexity0_GetColor_ReturnsGreen() { ComplexityViewModel model = AssignComplexity(0); Assert.That(model.Color, Is.EqualTo(Colors.Green), "Zero complexity is converted to allowed color.."); }
public void AfterUpdateComplexity5_GetValue_Returns5() { ComplexityViewModel model = AssignComplexity(); Assert.That(model.Value, Is.EqualTo(Expected), "View model wraps last assigned complexity."); }
public void NoComplexitySet_GetValue_Returns0() { ComplexityViewModel model = CreateViewModel(); Assert.That(model.Value, Is.EqualTo(0), "Default complexity value should be zero."); }
private Task CreateTask(ComplexityViewModel complexityViewModel, ISyntaxNode syntaxNode) { return(new Task(() => complexityViewModel.UpdateComplexity(cyclomaticComplexityCalculator.Calculate(syntaxNode)))); }