예제 #1
0
        public void Optionals()
        {
            var tokens = new List <QueryToken>();

            tokens.AddOptional("a");
            AssertQuery.AssertTokens(new[] { Optional("a") }, tokens);

            tokens.AddOptional("");
            AssertQuery.AssertTokens(new[] { Optional("a") }, tokens);
        }
예제 #2
0
        public void CharSets()
        {
            var tokens = new List <QueryToken>();

            tokens.AddCharSet("abc");
            AssertQuery.AssertTokens(new[] { CharSet("abc") }, tokens);

            tokens.AddCharSet("d");
            AssertQuery.AssertTokens(new[] { CharSet("abc"), Word("d") }, tokens);
        }
예제 #3
0
        public void QMArksAndStarsAndOptionals()
        {
            var tokens = new List <QueryToken>();

            tokens.AddStar().AddQMark().AddOptional("a").AddOptional("b");
            AssertQuery.AssertTokens(new[] { QMark, Star }, tokens);

            tokens.Clear();
            tokens.AddOptional("a").AddQMark().AddOptional("b").AddQMark().AddStar();
            AssertQuery.AssertTokens(new[] { QMark, QMark, Star }, tokens);
        }
예제 #4
0
        public void Words()
        {
            var tokens = new List <QueryToken>();

            tokens.AddWord("foo");
            AssertQuery.AssertTokens(new[] { Word("foo") }, tokens);

            tokens.AddWord("bar");
            AssertQuery.AssertTokens(new[] { Word("foobar") }, tokens);

            tokens.AddWord("");
            AssertQuery.AssertTokens(new[] { Word("foobar") }, tokens);
        }
예제 #5
0
        public void QMarksAndStars()
        {
            var tokens = new List <QueryToken>();

            tokens.AddStar();
            AssertQuery.AssertTokens(new[] { Star }, tokens);

            tokens.AddQMark();
            AssertQuery.AssertTokens(new[] { QMark, Star }, tokens);

            tokens.AddQMark();
            AssertQuery.AssertTokens(new[] { QMark, QMark, Star }, tokens);

            tokens.AddStar();
            AssertQuery.AssertTokens(new[] { QMark, QMark, Star }, tokens);
        }