From 47df7dd60e9209db3be91a7b29a91911ee4a846b Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Wed, 28 Oct 2009 18:40:31 -0400 Subject: Rewrote the report query parser It is now a full parser that parses report queries directly into value expression trees. These then get rendered into text so that other options may extend the expression. --- test/unit/t_expr.cc | 275 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) (limited to 'test/unit/t_expr.cc') diff --git a/test/unit/t_expr.cc b/test/unit/t_expr.cc index 6c88a08a..970706a2 100644 --- a/test/unit/t_expr.cc +++ b/test/unit/t_expr.cc @@ -3,6 +3,7 @@ #include "t_expr.h" #include "expr.h" +#include "predicate.h" using namespace ledger; @@ -19,3 +20,277 @@ void ValueExprTestCase::tearDown() amount_t::shutdown(); times_shutdown(); } + +// 1. foo and bar +// 2. 'foo and bar' +// 3. (foo and bar) +// 4. ( foo and bar ) +// 5. '( foo and' bar) +// 6. =foo and bar +// 7. ='foo and bar' +// 8. 'expr foo and bar' +// 9. expr 'foo and bar' +// 10. expr foo and bar +// 11. foo and bar or baz +// 12. foo and bar | baz +// 13. foo and bar |baz +// 14. foo and bar| baz +// 15. foo and bar|baz +// 16. foo 'and bar|baz' + +void ValueExprTestCase::testPredicateTokenizer1() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer2() +{ + value_t args; + args.push_back(string_value("foo and bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer3() +{ + value_t args; + args.push_back(string_value("(foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar)")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer4() +{ + value_t args; + args.push_back(string_value("(")); + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + args.push_back(string_value(")")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer5() +{ + value_t args; + args.push_back(string_value("( foo and")); + args.push_back(string_value("bar)")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer6() +{ + value_t args; + args.push_back(string_value("=foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TOK_EQ, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer7() +{ + value_t args; + args.push_back(string_value("=foo and bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TOK_EQ, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer8() +{ + value_t args; + args.push_back(string_value("expr foo and bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer9() +{ + value_t args; + args.push_back(string_value("expr")); + args.push_back(string_value("foo and bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer10() +{ + value_t args; + args.push_back(string_value("expr")); + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer11() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + args.push_back(string_value("or")); + args.push_back(string_value("baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer12() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + args.push_back(string_value("|")); + args.push_back(string_value("baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer13() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar")); + args.push_back(string_value("|baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer14() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar|")); + args.push_back(string_value("baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer15() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and")); + args.push_back(string_value("bar|baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} + +void ValueExprTestCase::testPredicateTokenizer16() +{ + value_t args; + args.push_back(string_value("foo")); + args.push_back(string_value("and bar|baz")); + + query_lexer_t tokens(args.begin(), args.end()); + + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); + assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +} -- cgit v1.2.3 From 9a07652fd8edf0b15efb8a658798adb968567e16 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Wed, 28 Oct 2009 22:50:33 -0400 Subject: Disabled some of the expression tests under Python --- test/unit/t_expr.cc | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'test/unit/t_expr.cc') diff --git a/test/unit/t_expr.cc b/test/unit/t_expr.cc index 970706a2..57becea9 100644 --- a/test/unit/t_expr.cc +++ b/test/unit/t_expr.cc @@ -40,6 +40,7 @@ void ValueExprTestCase::tearDown() void ValueExprTestCase::testPredicateTokenizer1() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -51,10 +52,12 @@ void ValueExprTestCase::testPredicateTokenizer1() assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer2() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo and bar")); @@ -64,10 +67,12 @@ void ValueExprTestCase::testPredicateTokenizer2() assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer3() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("(foo")); args.push_back(string_value("and")); @@ -81,10 +86,12 @@ void ValueExprTestCase::testPredicateTokenizer3() assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer4() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("(")); args.push_back(string_value("foo")); @@ -100,10 +107,12 @@ void ValueExprTestCase::testPredicateTokenizer4() assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer5() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("( foo and")); args.push_back(string_value("bar)")); @@ -116,10 +125,12 @@ void ValueExprTestCase::testPredicateTokenizer5() assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::RPAREN, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer6() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("=foo")); args.push_back(string_value("and")); @@ -132,10 +143,12 @@ void ValueExprTestCase::testPredicateTokenizer6() assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer7() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("=foo and bar")); @@ -144,10 +157,12 @@ void ValueExprTestCase::testPredicateTokenizer7() assertEqual(query_lexer_t::token_t::TOK_EQ, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer8() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr foo and bar")); @@ -156,10 +171,12 @@ void ValueExprTestCase::testPredicateTokenizer8() assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer9() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr")); args.push_back(string_value("foo and bar")); @@ -169,10 +186,12 @@ void ValueExprTestCase::testPredicateTokenizer9() assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer10() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr")); args.push_back(string_value("foo")); @@ -186,10 +205,12 @@ void ValueExprTestCase::testPredicateTokenizer10() assertEqual(query_lexer_t::token_t::TOK_AND, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer11() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -205,10 +226,12 @@ void ValueExprTestCase::testPredicateTokenizer11() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer12() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -224,10 +247,12 @@ void ValueExprTestCase::testPredicateTokenizer12() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer13() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -242,10 +267,12 @@ void ValueExprTestCase::testPredicateTokenizer13() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer14() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -260,10 +287,12 @@ void ValueExprTestCase::testPredicateTokenizer14() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer15() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -277,10 +306,12 @@ void ValueExprTestCase::testPredicateTokenizer15() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } void ValueExprTestCase::testPredicateTokenizer16() { +#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and bar|baz")); @@ -293,4 +324,5 @@ void ValueExprTestCase::testPredicateTokenizer16() assertEqual(query_lexer_t::token_t::TOK_OR, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); assertEqual(query_lexer_t::token_t::END_REACHED, tokens.next_token().kind); +#endif } -- cgit v1.2.3 From d6d8ed6d99659e401a04e4fdcd0c12f2cf9812b7 Mon Sep 17 00:00:00 2001 From: John Wiegley Date: Wed, 28 Oct 2009 23:09:35 -0400 Subject: Fixes to the Python unit tests --- test/unit/t_expr.cc | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'test/unit/t_expr.cc') diff --git a/test/unit/t_expr.cc b/test/unit/t_expr.cc index 57becea9..2576379e 100644 --- a/test/unit/t_expr.cc +++ b/test/unit/t_expr.cc @@ -40,12 +40,12 @@ void ValueExprTestCase::tearDown() void ValueExprTestCase::testPredicateTokenizer1() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); args.push_back(string_value("bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -57,10 +57,10 @@ void ValueExprTestCase::testPredicateTokenizer1() void ValueExprTestCase::testPredicateTokenizer2() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo and bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -72,12 +72,12 @@ void ValueExprTestCase::testPredicateTokenizer2() void ValueExprTestCase::testPredicateTokenizer3() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("(foo")); args.push_back(string_value("and")); args.push_back(string_value("bar)")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); @@ -91,7 +91,6 @@ void ValueExprTestCase::testPredicateTokenizer3() void ValueExprTestCase::testPredicateTokenizer4() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("(")); args.push_back(string_value("foo")); @@ -99,6 +98,7 @@ void ValueExprTestCase::testPredicateTokenizer4() args.push_back(string_value("bar")); args.push_back(string_value(")")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); @@ -112,11 +112,11 @@ void ValueExprTestCase::testPredicateTokenizer4() void ValueExprTestCase::testPredicateTokenizer5() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("( foo and")); args.push_back(string_value("bar)")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::LPAREN, tokens.next_token().kind); @@ -130,12 +130,12 @@ void ValueExprTestCase::testPredicateTokenizer5() void ValueExprTestCase::testPredicateTokenizer6() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("=foo")); args.push_back(string_value("and")); args.push_back(string_value("bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TOK_EQ, tokens.next_token().kind); @@ -148,10 +148,10 @@ void ValueExprTestCase::testPredicateTokenizer6() void ValueExprTestCase::testPredicateTokenizer7() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("=foo and bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TOK_EQ, tokens.next_token().kind); @@ -162,10 +162,10 @@ void ValueExprTestCase::testPredicateTokenizer7() void ValueExprTestCase::testPredicateTokenizer8() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr foo and bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); @@ -176,11 +176,11 @@ void ValueExprTestCase::testPredicateTokenizer8() void ValueExprTestCase::testPredicateTokenizer9() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr")); args.push_back(string_value("foo and bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); @@ -191,13 +191,13 @@ void ValueExprTestCase::testPredicateTokenizer9() void ValueExprTestCase::testPredicateTokenizer10() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("expr")); args.push_back(string_value("foo")); args.push_back(string_value("and")); args.push_back(string_value("bar")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TOK_EXPR, tokens.next_token().kind); @@ -210,7 +210,6 @@ void ValueExprTestCase::testPredicateTokenizer10() void ValueExprTestCase::testPredicateTokenizer11() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -218,6 +217,7 @@ void ValueExprTestCase::testPredicateTokenizer11() args.push_back(string_value("or")); args.push_back(string_value("baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -231,7 +231,6 @@ void ValueExprTestCase::testPredicateTokenizer11() void ValueExprTestCase::testPredicateTokenizer12() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); @@ -239,6 +238,7 @@ void ValueExprTestCase::testPredicateTokenizer12() args.push_back(string_value("|")); args.push_back(string_value("baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -252,13 +252,13 @@ void ValueExprTestCase::testPredicateTokenizer12() void ValueExprTestCase::testPredicateTokenizer13() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); args.push_back(string_value("bar")); args.push_back(string_value("|baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -272,13 +272,13 @@ void ValueExprTestCase::testPredicateTokenizer13() void ValueExprTestCase::testPredicateTokenizer14() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); args.push_back(string_value("bar|")); args.push_back(string_value("baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -292,12 +292,12 @@ void ValueExprTestCase::testPredicateTokenizer14() void ValueExprTestCase::testPredicateTokenizer15() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and")); args.push_back(string_value("bar|baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); @@ -311,11 +311,11 @@ void ValueExprTestCase::testPredicateTokenizer15() void ValueExprTestCase::testPredicateTokenizer16() { -#ifndef NOT_FOR_PYTHON value_t args; args.push_back(string_value("foo")); args.push_back(string_value("and bar|baz")); +#ifndef NOT_FOR_PYTHON query_lexer_t tokens(args.begin(), args.end()); assertEqual(query_lexer_t::token_t::TERM, tokens.next_token().kind); -- cgit v1.2.3