public void AllDiagnosticMarkers_MarkerDataCaptured() { const string Test = @" namespace My.Namespace { <|class Program { public void <?>Method(string name) { <|>Console.WriteLine(name); } }|> }"; const int ExpectedMarkerCount = 3; const string ExpectedText = @"class Program { public void Method(string name) { Console.WriteLine(name); } }"; var expectedPositions = new List <Tuple <int, int> >() { Tuple.Create(4, 5), Tuple.Create(6, 21), Tuple.Create(8, 13), }; var markers = new TestMarkup().Parse(Test, out var source); Assert.Equal(ExpectedMarkerCount, markers.Count); var textMarker = markers.First(x => x is DiagnosticTextMarker); Assert.Equal(ExpectedText, ((DiagnosticTextMarker)textMarker).Text); for (var i = 0; i < markers.Count; ++i) { var marker = markers[i]; var expectedLine = expectedPositions[i].Item1; var expectedColumn = expectedPositions[i].Item2; Assert.Equal(expectedLine, marker.Line); Assert.Equal(expectedColumn, marker.Column); } }