Exemple #1
0
        public void TokenizeOrTokenTest( )
        {
            Token result = Token.Tokenize("a|a|a|a");

            Assert.IsInstanceOfType(result, typeof(GroupToken));

            GroupToken group = result as GroupToken;

            Assert.AreEqual(1, group.Content.Count);
            Assert.IsInstanceOfType(group.Content.First( ), typeof(OrToken));

            OrToken orToken = group.Content.First( ) as OrToken;

            Assert.AreEqual(4, orToken.Alternatives.Count);

            foreach (Token t in orToken.Alternatives)
            {
                Assert.AreEqual(Token.TokenType.Literal, t.Type);
                Assert.AreEqual("a", t.Text);
            }

            var badPatterns = new[] { "a|b|", "|a|b", "a||b" };

            foreach (var pattern in badPatterns)
            {
                try {
                    Token t = Token.Tokenize(pattern);
                    Assert.Fail("no exception thrown for pattern: " + pattern);
                }
                catch (ParsingException) { }
            }
        }
Exemple #2
0
    public void TestTokenProperties()
    {
        IntegerToken lhs    = new IntegerToken(1);
        IntegerToken rhs    = new IntegerToken(2);
        OrToken      result = new OrToken(0, lhs, rhs);

        Assert.AreEqual(lhs, result.Lhs);
        Assert.AreEqual(rhs, result.Rhs);
    }