diff --git a/poincare/test/parsing.cpp b/poincare/test/parsing.cpp index 97b0ddbb4..18aca00e7 100644 --- a/poincare/test/parsing.cpp +++ b/poincare/test/parsing.cpp @@ -365,6 +365,7 @@ QUIZ_CASE(poincare_parsing_identifiers) { assert_parsed_expression_is("ceil(1)", Ceiling::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("confidence(1,2)", ConfidenceInterval::Builder(BasedInteger::Builder(1),BasedInteger::Builder(2))); assert_text_not_parsable("diff(1,2,3)"); + assert_text_not_parsable("diff(0,_s,0)"); assert_parsed_expression_is("diff(1,x,3)", Derivative::Builder(BasedInteger::Builder(1),Symbol::Builder("x",1),BasedInteger::Builder(3))); assert_parsed_expression_is("dim(1)", MatrixDimension::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("conj(1)", Conjugate::Builder(BasedInteger::Builder(1))); @@ -378,6 +379,7 @@ QUIZ_CASE(poincare_parsing_identifiers) { assert_parsed_expression_is("im(1)", ImaginaryPart::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("int(1,x,2,3)", Integral::Builder(BasedInteger::Builder(1),Symbol::Builder("x",1),BasedInteger::Builder(2),BasedInteger::Builder(3))); assert_text_not_parsable("int(1,2,3,4)"); + assert_text_not_parsable("int(1,_s,3,4)"); assert_parsed_expression_is("inverse(1)", MatrixInverse::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("lcm(1,2)", LeastCommonMultiple::Builder(BasedInteger::Builder(1),BasedInteger::Builder(2))); assert_parsed_expression_is("ln(1)", NaperianLogarithm::Builder(BasedInteger::Builder(1))); @@ -389,6 +391,7 @@ QUIZ_CASE(poincare_parsing_identifiers) { assert_parsed_expression_is("prediction(1,2)", SimplePredictionInterval::Builder(BasedInteger::Builder(1),BasedInteger::Builder(2))); assert_parsed_expression_is("product(1,n,2,3)", Product::Builder(BasedInteger::Builder(1),Symbol::Builder("n",1),BasedInteger::Builder(2),BasedInteger::Builder(3))); assert_text_not_parsable("product(1,2,3,4)"); + assert_text_not_parsable("product(1,_s,3,4)"); assert_parsed_expression_is("quo(1,2)", DivisionQuotient::Builder(BasedInteger::Builder(1),BasedInteger::Builder(2))); assert_parsed_expression_is("random()", Random::Builder()); assert_parsed_expression_is("randint(1,2)", Randint::Builder(BasedInteger::Builder(1),BasedInteger::Builder(2))); @@ -401,6 +404,7 @@ QUIZ_CASE(poincare_parsing_identifiers) { assert_parsed_expression_is("sinh(1)", HyperbolicSine::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("sum(1,n,2,3)", Sum::Builder(BasedInteger::Builder(1),Symbol::Builder("n",1),BasedInteger::Builder(2),BasedInteger::Builder(3))); assert_text_not_parsable("sum(1,2,3,4)"); + assert_text_not_parsable("sum(1,_s,3,4)"); assert_parsed_expression_is("tan(1)", Tangent::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("tanh(1)", HyperbolicTangent::Builder(BasedInteger::Builder(1))); assert_parsed_expression_is("trace(1)", MatrixTrace::Builder(BasedInteger::Builder(1))); diff --git a/poincare/test/simplification.cpp b/poincare/test/simplification.cpp index 15de7db19..b8f081626 100644 --- a/poincare/test/simplification.cpp +++ b/poincare/test/simplification.cpp @@ -316,12 +316,104 @@ QUIZ_CASE(poincare_simplification_units) { /* Inhomogeneous expressions */ assert_parsed_expression_simplify_to("1+_s", "undef"); + assert_parsed_expression_simplify_to("0+_A", "undef"); + assert_parsed_expression_simplify_to("𝐢_A", "undef"); + assert_parsed_expression_simplify_to("_A+𝐢", "undef"); assert_parsed_expression_simplify_to("_m+_s", "undef"); assert_parsed_expression_simplify_to("_m^2+_m", "undef"); - assert_parsed_expression_simplify_to("cos(_m)", "undef"); + assert_parsed_expression_simplify_to("abs(_s)", "undef"); + assert_parsed_expression_simplify_to("acos(_s)", "undef"); + assert_parsed_expression_simplify_to("acosh(_s)", "undef"); + assert_parsed_expression_simplify_to("arg(_s)", "undef"); + assert_parsed_expression_simplify_to("asin(_s)", "undef"); + assert_parsed_expression_simplify_to("asinh(_s)", "undef"); + assert_parsed_expression_simplify_to("atan(_s)", "undef"); + assert_parsed_expression_simplify_to("atanh(_s)", "undef"); + assert_parsed_expression_simplify_to("binomcdf(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("binomcdf(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("binomcdf(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("binomial(_s,2)", "undef"); + assert_parsed_expression_simplify_to("binomial(2,_s)", "undef"); + assert_parsed_expression_simplify_to("binompdf(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("binompdf(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("binompdf(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("ceiling(_s)", "undef"); + assert_parsed_expression_simplify_to("confidence(_s,2)", "undef"); + assert_parsed_expression_simplify_to("confidence(.5,_s)", "undef"); + assert_parsed_expression_simplify_to("conj(_s)", "undef"); + assert_parsed_expression_simplify_to("cos(_s)", "undef"); + assert_parsed_expression_simplify_to("cosh(_s)", "undef"); + assert_parsed_expression_simplify_to("det(_s)", "undef"); + assert_parsed_expression_simplify_to("diff(_s,x,0)", "undef"); + assert_parsed_expression_simplify_to("diff(0,x,_s)", "undef"); + assert_parsed_expression_simplify_to("dim(_s)", "undef"); + assert_parsed_expression_simplify_to("factor(_s)", "undef"); + assert_parsed_expression_simplify_to("(_s)!", "undef"); + assert_parsed_expression_simplify_to("floor(_s)", "undef"); + assert_parsed_expression_simplify_to("frac(_s)", "undef"); + assert_parsed_expression_simplify_to("gcd(1,_s)", "undef"); + assert_parsed_expression_simplify_to("gcd(_s,1)", "undef"); + assert_parsed_expression_simplify_to("identity(_s)", "undef"); + assert_parsed_expression_simplify_to("im(_s)", "undef"); + assert_parsed_expression_simplify_to("int(_s,x,0,1)", "undef"); + assert_parsed_expression_simplify_to("int(0,x,_s,1)", "undef"); + assert_parsed_expression_simplify_to("int(0,x,0,_s)", "undef"); + assert_parsed_expression_simplify_to("invbinom(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("invbinom(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("invbinom(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("invnorm(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("invnorm(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("invnorm(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("inverse(_s)", "undef"); + assert_parsed_expression_simplify_to("lcm(1,_s)", "undef"); + assert_parsed_expression_simplify_to("lcm(_s,1)", "undef"); + assert_parsed_expression_simplify_to("ln(_s)", "undef"); + assert_parsed_expression_simplify_to("log(_s)", "undef"); + assert_parsed_expression_simplify_to("log(_s,2)", "undef"); + assert_parsed_expression_simplify_to("log(1,_s)", "undef"); + assert_parsed_expression_simplify_to("normcdf(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("normcdf(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("normcdf(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("normcdf2(_s,2,3,4)", "undef"); + assert_parsed_expression_simplify_to("normcdf2(2,_s,3,4)", "undef"); + assert_parsed_expression_simplify_to("normcdf2(2,3,_s,4)", "undef"); + assert_parsed_expression_simplify_to("normcdf2(2,3,4,_s)", "undef"); + assert_parsed_expression_simplify_to("normpdf(_s,2,3)", "undef"); + assert_parsed_expression_simplify_to("normpdf(2,_s,3)", "undef"); + assert_parsed_expression_simplify_to("normpdf(2,3,_s)", "undef"); + assert_parsed_expression_simplify_to("permute(_s,2)", "undef"); + assert_parsed_expression_simplify_to("permute(2,_s)", "undef"); + assert_parsed_expression_simplify_to("prediction(_s,2)", "undef"); + assert_parsed_expression_simplify_to("prediction(.5,_s)", "undef"); + assert_parsed_expression_simplify_to("prediction95(_s,2)", "undef"); + assert_parsed_expression_simplify_to("prediction95(.5,_s)", "undef"); + assert_parsed_expression_simplify_to("product(_s,x,0,1)", "undef"); + assert_parsed_expression_simplify_to("product(1,x,_s,1)", "undef"); + assert_parsed_expression_simplify_to("product(1,x,0,_s)", "undef"); + assert_parsed_expression_simplify_to("quo(_s,1)", "undef"); + assert_parsed_expression_simplify_to("quo(1,_s)", "undef"); + assert_parsed_expression_simplify_to("randint(_s,1)", "undef"); + assert_parsed_expression_simplify_to("randint(1,_s)", "undef"); + assert_parsed_expression_simplify_to("re(_s)", "undef"); + assert_parsed_expression_simplify_to("rem(_s,1)", "undef"); + assert_parsed_expression_simplify_to("rem(1,_s)", "undef"); + assert_parsed_expression_simplify_to("round(_s,1)", "undef"); + assert_parsed_expression_simplify_to("round(1,_s)", "undef"); + assert_parsed_expression_simplify_to("sign(_s)", "undef"); + assert_parsed_expression_simplify_to("sin(_s)", "undef"); + assert_parsed_expression_simplify_to("sinh(_s)", "undef"); + assert_parsed_expression_simplify_to("sum(_s,x,0,1)", "undef"); + assert_parsed_expression_simplify_to("sum(0,x,_s,1)", "undef"); + assert_parsed_expression_simplify_to("sum(0,x,0,_s)", "undef"); + assert_parsed_expression_simplify_to("tan(_s)", "undef"); + assert_parsed_expression_simplify_to("tanh(_s)", "undef"); + assert_parsed_expression_simplify_to("trace(_s)", "undef"); + assert_parsed_expression_simplify_to("transpose(_s)", "undef"); + assert_parsed_expression_simplify_to("√(_s)", "undef"); - // Units with values + /* Valid expressions */ assert_parsed_expression_simplify_to("-2×_A", "-2×_A"); + assert_parsed_expression_simplify_to("cos(1_s/1_s)", "cos(1)"); } QUIZ_CASE(poincare_simplification_power) {