public override string ToString() { TextSpan lastTextSpan = TextSpans.Last(); string patternMatch = SourceFile.GetSubstring(lastTextSpan) + " " + SourceFile.GetLineColumnTextSpan(lastTextSpan); return($"{SourceFile}: pattern {Pattern} match: {patternMatch}"); }
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); }
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); }
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); }
public override string ToString() { return($"Pattern {Pattern} mathched at {(string.Join(", ", TextSpans.Select(textSpan => SourceCodeFile.GetLineColumnTextSpan(textSpan))))}"); }