Esempio n. 1
0
        public void Convert_MultipleItemsIncludingOutOfRangeIssues_InRangeIssuesReturned()
        {
            // Arrange
            const int maxLineNumber = 5;
            var       fileIssue     = new Issue {
                StartLine = 0
            };
            var validIssue1 = new Issue {
                StartLine = 2
            };
            var outOfRangeIssue = new Issue {
                StartLine = maxLineNumber + 1
            };
            var validIssue2 = new Issue {
                StartLine = maxLineNumber
            };

            var input = new[] { fileIssue, validIssue1, outOfRangeIssue, null, validIssue2 };

            var mockSnapshot = CreateMockTextSnapshot(maxLineNumber, "anything");

            // Act
            var actual = IssueToFilterableIssueConverter.Convert(input, mockSnapshot.Object);

            // Assert
            actual.Count().Should().Be(3);

            var adapterIssues = actual.OfType <DaemonIssueAdapter>().ToArray();

            adapterIssues[0].SonarLintIssue.Should().BeSameAs(fileIssue);
            adapterIssues[1].SonarLintIssue.Should().BeSameAs(validIssue1);
            adapterIssues[2].SonarLintIssue.Should().BeSameAs(validIssue2);
        }
Esempio n. 2
0
        public void Convert_NullTextSnapshot_Throws()
        {
            // Arrange
            Action act = () => IssueToFilterableIssueConverter.Convert(Enumerable.Empty <Issue>(), null);

            // Act and assert
            act.Should().ThrowExactly <ArgumentNullException>().And.ParamName.Should().Be("textSnapshot");
        }
Esempio n. 3
0
        public void Convert_NullIssues_Throws()
        {
            // Arrange
            var    mockSnapshot = new Mock <ITextSnapshot>();
            Action act          = () => IssueToFilterableIssueConverter.Convert(null, mockSnapshot.Object);

            // Act and assert
            act.Should().ThrowExactly <ArgumentNullException>().And.ParamName.Should().Be("issues");
        }
Esempio n. 4
0
        public void Convert_EmptyList_ReturnsEmptyList()
        {
            // Arrange
            var mockSnapshot = new Mock <ITextSnapshot>();

            // Act and assert
            IssueToFilterableIssueConverter.Convert(Enumerable.Empty <Issue>(), mockSnapshot.Object)
            .Should().BeEmpty();
        }
Esempio n. 5
0
        public void CreateFilterableIssue_IssueLineOutsideSnapshot_ReturnsNull(int issueStartLine, int bufferLineCount)
        {
            // Arrange
            var issue = new Sonarlint.Issue {
                StartLine = issueStartLine
            };
            var mockSnapshot = CreateMockTextSnapshot(bufferLineCount, "unimportant");

            // Act and assert
            IssueToFilterableIssueConverter.CreateFilterableIssue(issue, mockSnapshot.Object)
            .Should().BeNull();
        }
Esempio n. 6
0
        public void CreateFilterableIssue_IssueLineInSnapshot_ReturnsFilterableIssue(int issueStartLine, int bufferLineCount)
        {
            var issue = new Sonarlint.Issue {
                StartLine = issueStartLine
            };
            var mockSnapshot = CreateMockTextSnapshot(bufferLineCount, "some text");

            // Act
            var actual = IssueToFilterableIssueConverter.CreateFilterableIssue(issue, mockSnapshot.Object);

            // Assert
            actual.Should().BeOfType(typeof(DaemonIssueAdapter));

            var adapterIssue = (DaemonIssueAdapter)actual;

            adapterIssue.SonarLintIssue.Should().BeSameAs(issue);

            actual.WholeLineText.Should().Be("some text");
            actual.LineHash.Should().Be(ChecksumCalculator.Calculate("some text"));
        }
Esempio n. 7
0
        public void CreateFilterableIssue_FileLevelIssue_ReturnsFilterableIssue()
        {
            // Arrange
            var issue = new Sonarlint.Issue {
                StartLine = 0
            };
            var mockSnapshot = CreateMockTextSnapshot(10, "anything");

            // Act
            var actual = IssueToFilterableIssueConverter.CreateFilterableIssue(issue, mockSnapshot.Object);

            // Assert
            actual.Should().BeOfType(typeof(DaemonIssueAdapter));
            var adapterIssue = (DaemonIssueAdapter)actual;

            adapterIssue.SonarLintIssue.Should().BeSameAs(issue);

            actual.StartLine.Should().Be(0);
            actual.WholeLineText.Should().BeNull();
            actual.LineHash.Should().BeNull();
        }