private static Query ParseQuery(string input)
        {
            var tokenizer = new SelectTokenizer();
            var tokens    = tokenizer.Tokenize(input);

            return(Parser.Query.Parse(tokens));
        }
        public static TokenListParserResult <SelectToken, T> Parse <T>(TokenListParser <SelectToken, T> parser, string input)
        {
            var tokenizer = new SelectTokenizer();
            var tokens    = tokenizer.Tokenize(input);

            return(parser.AtEnd().TryParse(tokens));
        }
Beispiel #3
0
        private static T Parse <T>(TokenListParser <SelectToken, T> parser, string input)
        {
            var tokenizer = new SelectTokenizer();
            var tokens    = tokenizer.Tokenize(input);

            return(parser.Parse(tokens));
        }
Beispiel #4
0
        public static void AssertEqual(string expected, Option <OrderClause> actual)
        {
            var tokenizer      = new SelectTokenizer();
            var tokens         = tokenizer.Tokenize(expected);
            var expectedClause = Parser.OrderByClause.Parse(tokens);

            AssertEqual(expectedClause, actual);
        }
Beispiel #5
0
        public void TestKeywordsAreParsedCorrectly(string input, SelectToken expected)
        {
            var tokenizer = new SelectTokenizer();

            var output = tokenizer.Tokenize(input).ToList();

            var token = Assert.Single(output);

            Assert.Equal(expected, token.Kind);
        }
Beispiel #6
0
        public void TestBooleanLiteralsAreParserCorrectly(string input, string expected)
        {
            var tokenizer = new SelectTokenizer();

            var output = tokenizer.Tokenize(input).ToList();

            var token = Assert.Single(output);

            Assert.Equal(SelectToken.BooleanLiteral, token.Kind);
            Assert.Equal(expected, token.ToStringValue());
        }
Beispiel #7
0
        public void TestComplexQueryIsParsedCorrectly()
        {
            var input    = "SELECT * FROM Test WHERE m = 5";
            var expected = new[]
            {
                SelectToken.Select, SelectToken.Star,
                SelectToken.From, SelectToken.Identifier,
                SelectToken.Where, SelectToken.Identifier, SelectToken.Equal, SelectToken.NumberLiteral
            };
            var tokenizer = new SelectTokenizer();

            var output = tokenizer.Tokenize(input).ToList();

            Assert.Equal(expected, output.Select(x => x.Kind));
        }
        private static Query ParseQuery(string query)
        {
            var tokens = new SelectTokenizer().Tokenize(query);

            return(Parser.Query(tokens).Value);
        }