Exemplo n.º 1
0
        public void set_escape()
        {
            var td = new TokenDefinition(new[] { "[a-z]" });

            Assert.AreEqual(5, td.MaximumLength);

            Assert.IsTrue(td.StartsWith('['));
            Assert.IsFalse(td.StartsWith('x'));

            Assert.AreEqual("\\G(\\[a-z])", td.ToString());

            Assert.AreEqual(0, td.MatchLength("x[a-z]x", 0));
            Assert.AreEqual(5, td.MatchLength("x[a-z]x", 1));
            Assert.AreEqual(0, td.MatchLength("x[a-z]x", 2));
        }
Exemplo n.º 2
0
        public void regex()
        {
            var re = new Regex("abc");
            var td = new TokenDefinition(re);

            Assert.AreEqual(int.MaxValue, td.MaximumLength);

            Assert.IsTrue(td.StartsWith('a'));
            Assert.IsTrue(td.StartsWith('x'));

            Assert.AreEqual(0, td.MatchLength("xabcx", 0));
            Assert.AreEqual(3, td.MatchLength("xabcx", 1));
            Assert.AreEqual(0, td.MatchLength("xabcx", 2));

            Assert.AreEqual("abc", td.ToString());
        }
Exemplo n.º 3
0
        public void set_case_insensitive()
        {
            var td = new TokenDefinition(new[] { "ab", "abc", "bc" }, caseSensitive: false);

            Assert.AreEqual(3, td.MaximumLength);

            Assert.IsTrue(td.StartsWith('a'));
            Assert.IsTrue(td.StartsWith('A'));
            Assert.IsFalse(td.StartsWith('x'));

            Assert.AreEqual("\\G(abc|ab|bc)", td.ToString());

            Assert.AreEqual(0, td.MatchLength("xabcx", 0));
            Assert.AreEqual(3, td.MatchLength("xabcx", 1));
            Assert.AreEqual(2, td.MatchLength("xabcx", 2));
            Assert.AreEqual(3, td.MatchLength("xaBcx", 1));
        }
Exemplo n.º 4
0
        public void set()
        {
            var td = new TokenDefinition(new[] { "ab", "abc", "bc" });

            Assert.AreEqual(3, td.MaximumLength);

            Assert.IsTrue(td.StartsWith('a'));
            Assert.IsTrue(td.StartsWith('A')); // Approximation, may change in the future
            Assert.IsFalse(td.StartsWith('x'));

            Assert.AreEqual("\\G(abc|ab|bc)", td.ToString());

            Assert.AreEqual(0, td.MatchLength("xabcx", 0));
            Assert.AreEqual(3, td.MatchLength("xabcx", 1));
            Assert.AreEqual(2, td.MatchLength("xabcx", 2));
            Assert.AreEqual(0, td.MatchLength("xaBcx", 1));
        }