Example #1
0
            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());
            }
Example #2
0
			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());
			}