示例#1
0
        public override string ToString()
        {
            TextSpan lastTextSpan = TextSpans.Last();
            string   patternMatch = SourceFile.GetSubstring(lastTextSpan) + " " + SourceFile.GetLineColumnTextSpan(lastTextSpan);

            return($"{SourceFile}: pattern {Pattern} match: {patternMatch}");
        }
示例#2
0
            public void ReturnsTheExpectedInputIfThereIsOnlyOneInput()
            {
                var source = "0123456789";
                var input  = MakeSpan(source, 0, 5);
                var actual = TextSpans.Join(input);

                actual.Position.Absolute.Should().Be(0);
                actual.Length.Should().Be(5);
            }
示例#3
0
            public void ReturnsTheExpectedSpanWithTwoInputs()
            {
                var source = "0123456789";
                var actual = TextSpans.Join(
                    MakeSpan(source, 1, 3),
                    MakeSpan(source, 4, 2)
                    );

                actual.Position.Absolute.Should().Be(1);
                actual.Length.Should().Be(5);
            }
示例#4
0
            public void ReturnsTheExpectedSpanWithMultipleInputsInNonSequentialOrder()
            {
                var source = "0123456789";
                var actual = TextSpans.Join(
                    MakeSpan(source, 2, 1),
                    MakeSpan(source, 1, 3),
                    MakeSpan(source, 3, 4)
                    );

                actual.Position.Absolute.Should().Be(1);
                actual.Length.Should().Be(6);
            }
示例#5
0
 public override string ToString()
 {
     return($"Pattern {Pattern} mathched at {(string.Join(", ", TextSpans.Select(textSpan => SourceCodeFile.GetLineColumnTextSpan(textSpan))))}");
 }