public void CanParseNullInput()
        {
            const string inputCode = null;

            var result = VBACodeStringParser.Parse(inputCode, t => t.startRule());

            Assert.IsInstanceOf <IParseTree>(result.parseTree);
        }
        public void GetRewriter()
        {
            const string inputCode = @"
Public Sub Foo
    MsgBox ""hi""
End Sub";
            var          result    = VBACodeStringParser.Parse(inputCode, t => t.startRule());

            Assert.IsInstanceOf <TokenStreamRewriter>(result.rewriter);
        }
        public void Parse_ExplicitLl()
        {
            const string inputCode = @"
Public Sub Foo
    MsgBox ""hi""
End Sub";
            var          result    = VBACodeStringParser.Parse(inputCode, t => t.startRule(), VBACodeStringParser.ParserMode.Ll);

            Assert.IsInstanceOf <IParseTree>(result.parseTree);
        }
        public void ParseTreeIsValid()
        {
            const string inputCode = @"
Public Sub Foo
    MsgBox ""hi""
End Sub";
            var          result    = VBACodeStringParser.Parse(inputCode, t => t.startRule());
            var          tree      = result.parseTree;

            Assert.AreEqual(inputCode + "<EOF>", tree.GetChild(0).GetText());
        }