mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-20 09:17:23 +01:00
[poincare] Add test on user defined functions and variables
This commit is contained in:
@@ -22,3 +22,48 @@ QUIZ_CASE(poincare_store_simplify) {
|
||||
Ion::Storage::sharedStorage()->recordNamed("A.exp").destroy();
|
||||
Ion::Storage::sharedStorage()->recordNamed("x.exp").destroy();
|
||||
}
|
||||
|
||||
QUIZ_CASE(poincare_store_simplify) {
|
||||
assert_parsed_expression_simplify_to("1+2>A", "A");
|
||||
assert_parsed_expression_simplify_to("1+2>x", "x");
|
||||
|
||||
// Clean the storage for other tests
|
||||
Ion::Storage::sharedStorage()->recordNamed("A.exp").destroy();
|
||||
Ion::Storage::sharedStorage()->recordNamed("x.exp").destroy();
|
||||
}
|
||||
|
||||
QUIZ_CASE(poincare_store_user_variable) {
|
||||
// Fill variable
|
||||
assert_parsed_expression_simplify_to("1+2>Adadas", "Adadas");
|
||||
assert_parsed_expression_simplify_to("Adadas", "3");
|
||||
|
||||
// Fill f1
|
||||
assert_parsed_expression_simplify_to("1+x>f1(x)", "f1(x)");
|
||||
assert_parsed_expression_simplify_to("f1(4)", "5");
|
||||
assert_parsed_expression_simplify_to("f1(Adadas)", "4");
|
||||
|
||||
// Fill f2
|
||||
assert_parsed_expression_simplify_to("x-1>f2(x)", "f2(x)");
|
||||
assert_parsed_expression_simplify_to("f2(4)", "3");
|
||||
assert_parsed_expression_simplify_to("f2(Adadas)", "2");
|
||||
|
||||
// Define funcBoth with f1 and f2
|
||||
assert_parsed_expression_simplify_to("f1(x)+f2(x)>funcBoth(x)", "funcBoth(x)");
|
||||
assert_parsed_expression_simplify_to("funcBoth(4)", "4");
|
||||
assert_parsed_expression_simplify_to("funcBoth(Adadas)", "3");
|
||||
|
||||
// Change f2
|
||||
assert_parsed_expression_simplify_to("x>f2(x)", "f2(x)");
|
||||
assert_parsed_expression_simplify_to("f2(4)", "4");
|
||||
assert_parsed_expression_simplify_to("f2(Adadas)", "3");
|
||||
|
||||
// Make sure funcBoth has changed
|
||||
assert_parsed_expression_simplify_to("funcBoth(4)", "5");
|
||||
assert_parsed_expression_simplify_to("funcBoth(Adadas)", "4");
|
||||
|
||||
// Clean the storage for other tests
|
||||
Ion::Storage::sharedStorage()->recordNamed("Adadas.exp").destroy();
|
||||
Ion::Storage::sharedStorage()->recordNamed("f1.func").destroy();
|
||||
Ion::Storage::sharedStorage()->recordNamed("f2.func").destroy();
|
||||
Ion::Storage::sharedStorage()->recordNamed("funcBoth.func").destroy();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user