コード例 #1
0
        public void MergeLocations_No_Issues()
        {
            var result = IssueLocationCollector.MergeLocations(
                Enumerable.Empty <IssueLocation>(),
                Enumerable.Empty <IssueLocation>());

            result.Should().BeEmpty();
        }
コード例 #2
0
        public void MergeLocations_NonEmpty_Issues_Empty_PreciseLocations()
        {
            var result = IssueLocationCollector.MergeLocations(
                new[] { new IssueLocation {
                            LineNumber = 3
                        } },
                Enumerable.Empty <IssueLocation>());

            result.Should().ContainSingle();
        }
コード例 #3
0
        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>();
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }