Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        public void MiminumToShow7Complexity5_GetVisible_ReturnsFalse()
        {
            ComplexityViewModel model = CreateViewModelByOptions(7);

            Assert.That(model.Visible, Is.False);
        }
Exemple #5
0
        public void MiminumToShow5Complexity5_GetVisible_ReturnsTrue()
        {
            ComplexityViewModel model = CreateViewModelByOptions(5);

            Assert.That(model.Visible, Is.True);
        }
Exemple #6
0
        public void AfterUpdateComplexity0_GetColor_ReturnsGreen()
        {
            ComplexityViewModel model = AssignComplexity(0);

            Assert.That(model.Color, Is.EqualTo(Colors.Green), "Zero complexity is converted to allowed color..");
        }
Exemple #7
0
        public void AfterUpdateComplexity5_GetValue_Returns5()
        {
            ComplexityViewModel model = AssignComplexity();

            Assert.That(model.Value, Is.EqualTo(Expected), "View model wraps last assigned complexity.");
        }
Exemple #8
0
        public void NoComplexitySet_GetValue_Returns0()
        {
            ComplexityViewModel model = CreateViewModel();

            Assert.That(model.Value, Is.EqualTo(0), "Default complexity value should be zero.");
        }
Exemple #9
0
 private Task CreateTask(ComplexityViewModel complexityViewModel, ISyntaxNode syntaxNode)
 {
     return(new Task(() => complexityViewModel.UpdateComplexity(cyclomaticComplexityCalculator.Calculate(syntaxNode))));
 }