public void MergeLocations_No_Issues() { var result = IssueLocationCollector.MergeLocations( Enumerable.Empty <IssueLocation>(), Enumerable.Empty <IssueLocation>()); result.Should().BeEmpty(); }
public void MergeLocations_NonEmpty_Issues_Empty_PreciseLocations() { var result = IssueLocationCollector.MergeLocations( new[] { new IssueLocation { LineNumber = 3 } }, Enumerable.Empty <IssueLocation>()); result.Should().ContainSingle(); }
public void MergeLocations_More_Than_One_Precise_Location_For_Same_Issue() { Action action = () => IssueLocationCollector.MergeLocations( new[] { new IssueLocation { LineNumber = 3 } }, new[] { new IssueLocation { LineNumber = 3 }, new IssueLocation { LineNumber = 3 } }); action.Should().Throw <InvalidOperationException>(); }
public void MergeLocations_Issues_Same_Line() { var result = IssueLocationCollector.MergeLocations( new[] { new IssueLocation { LineNumber = 3, Message = "message 1" } }, new[] { new IssueLocation { LineNumber = 3, Start = 10, Length = 5, Message = "message 2" } }); result.Should().ContainSingle(); result[0].Message.Should().Be("message 1"); // We take only Start and Length when merging precise location comments result[0].Start.Should().Be(10); result[0].Length.Should().Be(5); }
public void MergeLocations_Issues_Different_Lines() { var result = IssueLocationCollector.MergeLocations( new[] { new IssueLocation { LineNumber = 3, Message = "message 1" } }, new[] { new IssueLocation { LineNumber = 10, Start = 10, Length = 5, Message = "message 2" } }); result.Should().HaveCount(2); result[0].Message.Should().Be("message 1"); result[0].Start.Should().NotHaveValue(); result[0].Length.Should().NotHaveValue(); result[1].Message.Should().Be("message 2"); result[1].Start.Should().Be(10); result[1].Length.Should().Be(5); }