/// <summary> /// Initializes a new BBCode parser /// </summary> /// <param name="code"></param> public BBParser(string code) { _reader = new StringReader(code); _lexer = BBLexer.Lex(_reader).GetEnumerator(); _nodeStack = new Stack <BBTagNode>(); _parsed = null; }
private static void AssertTokenStream(string str, params BBToken[] expectedTokens) { using var reader = new StringReader(str); var gottenTokens = BBLexer.Lex(reader).ToArray(); foreach ((var expected, var gotten) in expectedTokens.Zip(gottenTokens, (a, b) => (a, b))) { Assert.AreEqual(expected, gotten); } Assert.AreEqual(expectedTokens.Length, gottenTokens.Length, "Got a different amount of tokens than expected"); }