public void Test(int testNum) { StringCharSourceFile input = new StringCharSourceFile(Input); BooLexerCore lexer = new BooLexerCore(input, new Dictionary <string, Symbol>()); IEnumerator <AstNode> lexerE = lexer.GetEnumerator(); string[] toks = Toks.Split(','); AstNode t; for (int i = 0; i < toks.Length; i++) { var _ = StringExt.SplitAt(toks[i], ':'); string wantType = _.A, wantText = _.B; wantType = wantType.Trim(); // Get the next token Assert.IsTrue(lexerE.MoveNext()); t = lexerE.Current; string type = t.NodeType.Name; string msg = string.Format("Test[{0}][{1}]: Expected {2}<{3}>, got {4}<{5}>", testNum, i, wantType, wantText, type, t.SourceText); Assert.AreEqual(wantType, type, msg); Assert.AreEqual(wantText, t.SourceText, msg); } Assert.IsFalse(lexerE.MoveNext()); }
public void Test(int testNum) { StringCharSourceFile input = new StringCharSourceFile(Input); BooLexerCore lexer = new BooLexerCore(input, new Dictionary<string, Symbol>()); IEnumerator<AstNode> lexerE = lexer.GetEnumerator(); string[] toks = Toks.Split(','); AstNode t; for(int i = 0; i < toks.Length; i++) { var _ = StringExt.SplitAt(toks[i], ':'); string wantType = _.A, wantText = _.B; wantType = wantType.Trim(); // Get the next token Assert.IsTrue(lexerE.MoveNext()); t = lexerE.Current; string type = t.NodeType.Name; string msg = string.Format("Test[{0}][{1}]: Expected {2}<{3}>, got {4}<{5}>", testNum, i, wantType, wantText, type, t.SourceText); Assert.AreEqual(wantType, type, msg); Assert.AreEqual(wantText, t.SourceText, msg); } Assert.IsFalse(lexerE.MoveNext()); }