From 95b59ce90a10403f6d49b3e7772be360ccfc6079 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Saviot?= Date: Fri, 28 Sep 2018 11:58:56 +0200 Subject: [PATCH] [poincare] Fix tests by using the UnknownX charset --- poincare/src/expression_lexer.l | 1 + poincare/test/helper.cpp | 2 ++ poincare/test/properties.cpp | 20 ++++++++++---------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/poincare/src/expression_lexer.l b/poincare/src/expression_lexer.l index f01cb13e8..e845b0112 100644 --- a/poincare/src/expression_lexer.l +++ b/poincare/src/expression_lexer.l @@ -151,6 +151,7 @@ trace { *yylval = MatrixTrace(); return FUNCTION; } transpose { *yylval = MatrixTranspose(); return FUNCTION; } undef { *yylval = Undefined(); return TERM; } inf { *yylval = Infinity(false); return TERM; } +\x1 { *yylval = Poincare::Symbol(yytext[0]); return FINAL_SYMBOL; } /* UnknownX */ \x8a { *yylval = Poincare::Symbol(yytext[0]); return FINAL_SYMBOL; } /* Pi */ \x8c { *yylval = Poincare::Symbol(yytext[0]); return FINAL_SYMBOL; } /* I complex */ \x8f { *yylval = Poincare::Symbol(yytext[0]); return FINAL_SYMBOL; } /* Exponential */ diff --git a/poincare/test/helper.cpp b/poincare/test/helper.cpp index 45c6a81f2..7592fb40e 100644 --- a/poincare/test/helper.cpp +++ b/poincare/test/helper.cpp @@ -40,6 +40,7 @@ void translate_in_special_chars(char * expression) { case 'P': *c = Ion::Charset::SmallPi; break; case '*': *c = Ion::Charset::MultiplicationSign; break; case '>': *c = Ion::Charset::Sto; break; + case '?': *c = Poincare::Symbol::SpecialSymbols::UnknownX; break; } } } @@ -55,6 +56,7 @@ void translate_in_ASCII_chars(char * expression) { case Ion::Charset::MultiplicationSign: *c = '*'; break; case Ion::Charset::MiddleDot: *c = '*'; break; case Ion::Charset::Sto: *c = '>'; break; + case Poincare::Symbol::SpecialSymbols::UnknownX: *c = '?'; break; } } } diff --git a/poincare/test/properties.cpp b/poincare/test/properties.cpp index 5d68c9e6a..8ca4cf0d8 100644 --- a/poincare/test/properties.cpp +++ b/poincare/test/properties.cpp @@ -66,17 +66,17 @@ void assert_parsed_expression_has_characteristic_range(const char * expression, } QUIZ_CASE(poincare_characteristic_range) { - assert_parsed_expression_has_characteristic_range("cos(x)", 360.0f); - assert_parsed_expression_has_characteristic_range("cos(-x)", 360.0f); - assert_parsed_expression_has_characteristic_range("cos(x)", 2.0f*M_PI, Preferences::AngleUnit::Radian); - assert_parsed_expression_has_characteristic_range("cos(-x)", 2.0f*M_PI, Preferences::AngleUnit::Radian); - assert_parsed_expression_has_characteristic_range("sin(9*x+10)", 40.0f); - assert_parsed_expression_has_characteristic_range("sin(9*x+10)+cos(x/2)", 720.0f); - assert_parsed_expression_has_characteristic_range("sin(9*x+10)+cos(x/2)", 4.0f*M_PI, Preferences::AngleUnit::Radian); - assert_parsed_expression_has_characteristic_range("x", NAN); + assert_parsed_expression_has_characteristic_range("cos(?)", 360.0f); + assert_parsed_expression_has_characteristic_range("cos(-?)", 360.0f); + assert_parsed_expression_has_characteristic_range("cos(?)", 2.0f*M_PI, Preferences::AngleUnit::Radian); + assert_parsed_expression_has_characteristic_range("cos(-?)", 2.0f*M_PI, Preferences::AngleUnit::Radian); + assert_parsed_expression_has_characteristic_range("sin(9*?+10)", 40.0f); + assert_parsed_expression_has_characteristic_range("sin(9*?+10)+cos(?/2)", 720.0f); + assert_parsed_expression_has_characteristic_range("sin(9*?+10)+cos(?/2)", 4.0f*M_PI, Preferences::AngleUnit::Radian); + assert_parsed_expression_has_characteristic_range("?", NAN); assert_parsed_expression_has_characteristic_range("cos(3)+2", 0.0f); - assert_parsed_expression_has_characteristic_range("log(cos(40*x))", 9.0f); - assert_parsed_expression_has_characteristic_range("cos(cos(x))", 360.0f); + assert_parsed_expression_has_characteristic_range("log(cos(40*?))", 9.0f); + assert_parsed_expression_has_characteristic_range("cos(cos(?))", 360.0f); } void assert_parsed_expression_has_variables(const char * expression, const char * variables[]) {