mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[poincare/test] Test the presence of units as Expression children
This commit is contained in:
committed by
Léa Saviot
parent
e39ad9d923
commit
ca50e764a5
@@ -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)));
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user