| 10382 | |
| 10383 | template <typename T> |
| 10384 | bool run_test21() |
| 10385 | { |
| 10386 | typedef exprtk::symbol_table<T> symbol_table_t; |
| 10387 | typedef exprtk::expression<T> expression_t; |
| 10388 | typedef exprtk::parser<T> parser_t; |
| 10389 | typedef exprtk::parser_error::type error_type; |
| 10390 | |
| 10391 | { |
| 10392 | T x = T(1.1); |
| 10393 | T y = T(2.2); |
| 10394 | T z = T(3.3); |
| 10395 | |
| 10396 | symbol_table_t symbol_table; |
| 10397 | symbol_table.add_constants(); |
| 10398 | symbol_table.add_variable("x",x); |
| 10399 | symbol_table.add_variable("y",y); |
| 10400 | symbol_table.add_variable("z",z); |
| 10401 | |
| 10402 | static const std::string expression_list[] = |
| 10403 | { |
| 10404 | "return[]; x;", |
| 10405 | "return[x]; x;", |
| 10406 | "return[x,y]; x;", |
| 10407 | "return[x + y,y - x]; x;", |
| 10408 | "return[x + y,y - x,'abc']; x;", |
| 10409 | "if (x < y) return [1,'abc1']; else return [2,'abc2',x];" , |
| 10410 | "if (x > y) return [1,'abc1']; else return [2,'abc2',x];" , |
| 10411 | "if (x < y) { return [1,'abc1'];} else { return [2,'abc2',x];}", |
| 10412 | "if (x > y) { return [1,'abc1'];} else { return [2,'abc2',x];}", |
| 10413 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [1]; } ", |
| 10414 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [1,'abc']; } ", |
| 10415 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [1,'abc',x]; }", |
| 10416 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [1,'abc',x,y]; }", |
| 10417 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [1,'abc',x,y,z]; }", |
| 10418 | "for(var i := 0; i < 10; i += 1) { if (i == 5) return [2,'abc2',x]; else x += 1; }", |
| 10419 | "for(var i := 0; i < 10; i += 1) { if (i == 5) { return [1,'abc1'];} else x += 1; }" |
| 10420 | }; |
| 10421 | |
| 10422 | static const std::string result_list[] = |
| 10423 | { |
| 10424 | "" , |
| 10425 | "T" , |
| 10426 | "TT" , |
| 10427 | "TT" , |
| 10428 | "TTS" , |
| 10429 | "TS" , |
| 10430 | "TST" , |
| 10431 | "TS" , |
| 10432 | "TST" , |
| 10433 | "T" , |
| 10434 | "TS" , |
| 10435 | "TST" , |
| 10436 | "TSTT" , |
| 10437 | "TSTTT", |
| 10438 | "TST" , |
| 10439 | "TS" |
| 10440 | }; |
| 10441 |
nothing calls this directly
no test coverage detected