Esempio n. 1
0
        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);
            }
        }