private static MParser GetSut(string text) { var window = new TextWindowWithNull(text); var parser = new MParser(window); return(parser); }
private static SyntaxTree GetTree(string fileName) { var text = File.ReadAllText(fileName); var window = new TextWindowWithNull(text, fileName); var parser = CreateParser(window); var tree = parser.Parse(); return(tree); }
public void TestFile(string fileName) { var text = File.ReadAllText(fileName); var window = new TextWindowWithNull(text, fileName); var parser = CreateParser(window); var tree = parser.Parse(); var actualText = tree.Root.FullText; var actualWidth = tree.Root.FullWidth; Assert.Equal(text, actualText); Assert.Equal(text.Length, actualWidth); }
public void ReturnCharsInCorrectOrder() { var text = "abc"; var sut = new TextWindowWithNull(text); Assert.Equal('a', sut.PeekChar()); sut.ConsumeChar(); Assert.Equal('b', sut.PeekChar()); sut.ConsumeChar(); Assert.Equal('c', sut.PeekChar()); sut.ConsumeChar(); Assert.Equal('\0', sut.PeekChar()); }
private static void ParserDemo() { Console.WriteLine("Hello World!"); var text = @"x = 'abc"; var window = new TextWindowWithNull(text, "noname"); var parser = CreateParser(window); var tree = parser.Parse(); TreeRenderer.RenderTree(tree); if (tree.Diagnostics.Any()) { foreach (var diagnostic in tree.Diagnostics) { Console.WriteLine($"ERROR: {diagnostic.Message} at position {diagnostic.Span.Start}"); } } Console.ReadKey(); }
public void ReturnNullGivenEmptyText() { var sut = new TextWindowWithNull(""); Assert.True(sut.PeekChar() == '\0'); }