public void CalculateSpan_IssueDoesNotHaveLineHash_HashNotChecked(string lineHash)
        {
            var issue = new DummyAnalysisIssue
            {
                StartLine       = 1,
                StartLineOffset = 0,
                EndLine         = 0,
                EndLineOffset   = 0,
                LineHash        = lineHash
            };

            var firstLine = new VSLineDescription
            {
                ZeroBasedLineNumber = 0,
                LineLength          = 10,
                LineStartPosition   = 1,
                Text = "some text"
            };

            var textSnapshotMock = CreateSnapshotMock(lines: new[] { firstLine });

            // Act
            var result = testSubject.CalculateSpan(issue, textSnapshotMock.Object);

            result.IsEmpty.Should().BeFalse();

            checksumCalculatorMock.VerifyNoOtherCalls();
        }
        public void CalculateSpan_IssueStartLineIsOutsideOfSnapshot_ReturnsEmptySpan(int issueStartLine, int bufferLineCount)
        {
            // Arrange
            var issue = new DummyAnalysisIssue {
                StartLine = issueStartLine
            };
            var mockSnapshot = CreateSnapshotMock(bufferLineCount);

            // Act and assert
            var result = testSubject.CalculateSpan(issue, mockSnapshot.Object);

            result.IsEmpty.Should().BeTrue();

            checksumCalculatorMock.VerifyNoOtherCalls();
        }
Пример #3
0
        private static IAnalysisIssueVisualization CreateIssue(string ruleKey, int startLine, int endLine)
        {
            var issue = new DummyAnalysisIssue
            {
                RuleKey   = ruleKey,
                StartLine = startLine,
                EndLine   = endLine
            };

            var issueVizMock = new Mock <IAnalysisIssueVisualization>();

            issueVizMock.Setup(x => x.Issue).Returns(issue);
            issueVizMock.Setup(x => x.Location).Returns(issue);
            issueVizMock.Setup(x => x.Flows).Returns(Array.Empty <IAnalysisIssueFlowVisualization>());
            issueVizMock.SetupProperty(x => x.Span);
            issueVizMock.Object.Span = new SnapshotSpan(CreateMockTextSnapshot(1000, "any line text").Object, 0, 1);

            return(issueVizMock.Object);
        }
        public void CalculateSpan_IssueLineHashIsDifferent_ReturnsEmptySpan()
        {
            var issue = new DummyAnalysisIssue {
                StartLine = 10, LineHash = "some hash"
            };

            var startLine = new VSLineDescription
            {
                LineLength          = 34,
                LineStartPosition   = 103,
                ZeroBasedLineNumber = issue.StartLine - 1,
                Text = "unimportant"
            };

            var mockSnapshot = CreateSnapshotMock(lines: startLine);

            checksumCalculatorMock.Setup(x => x.Calculate(startLine.Text)).Returns("some other hash");

            var result = testSubject.CalculateSpan(issue, mockSnapshot.Object);

            result.IsEmpty.Should().BeTrue();

            checksumCalculatorMock.VerifyAll();
        }