From ab7fc55535287b35827bac21a255ae9207894eb1 Mon Sep 17 00:00:00 2001 From: Dane Springmeyer Date: Tue, 29 Apr 2014 18:25:21 -0700 Subject: [PATCH] more realistic expression benchmark string - refs #1167 --- benchmark/test_expression_parse.cpp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/benchmark/test_expression_parse.cpp b/benchmark/test_expression_parse.cpp index f06a9824f..eb93fd433 100644 --- a/benchmark/test_expression_parse.cpp +++ b/benchmark/test_expression_parse.cpp @@ -10,11 +10,17 @@ class test : public benchmark::test_case public: test(mapnik::parameters const& params) : test_case(params), - expr_("([foo]=1)") {} + expr_("((([mapnik::geometry_type]=2) and ([oneway]=1)) and ([class]='path'))") {} bool validate() const { mapnik::expression_ptr expr = mapnik::parse_expression(expr_,"utf-8"); - return mapnik::to_expression_string(*expr) == expr_; + std::string result = mapnik::to_expression_string(*expr); + bool ret = (result == expr_); + if (!ret) + { + std::clog << result << " != " << expr_ << "\n"; + } + return ret; } void operator()() const { @@ -30,13 +36,19 @@ class test2 : public benchmark::test_case public: test2(mapnik::parameters const& params) : test_case(params), - expr_("([foo]=1)") {} + expr_("((([mapnik::geometry_type]=2) and ([oneway]=1)) and ([class]='path'))") {} bool validate() const { - mapnik::transcoder tr("utf-8"); - mapnik::expression_grammar expr_grammar(tr); - mapnik::expression_ptr expr = mapnik::parse_expression(expr_,expr_grammar); - return mapnik::to_expression_string(*expr) == expr_; + mapnik::transcoder tr("utf-8"); + mapnik::expression_grammar expr_grammar(tr); + mapnik::expression_ptr expr = mapnik::parse_expression(expr_,expr_grammar); + std::string result = mapnik::to_expression_string(*expr); + bool ret = (result == expr_); + if (!ret) + { + std::clog << result << " != " << expr_ << "\n"; + } + return ret; } void operator()() const {