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); }
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"); }
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"); }
public void Convert_EmptyList_ReturnsEmptyList() { // Arrange var mockSnapshot = new Mock <ITextSnapshot>(); // Act and assert IssueToFilterableIssueConverter.Convert(Enumerable.Empty <Issue>(), mockSnapshot.Object) .Should().BeEmpty(); }
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(); }
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")); }
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(); }