[tests/solver] Add test on solver + user defined symbols

This commit is contained in:
Léa Saviot
2020-01-29 16:51:28 +01:00
parent 470b713226
commit 25ef10a0c5
5 changed files with 103 additions and 23 deletions

View File

@@ -167,12 +167,13 @@ bool ListController::layoutFieldDidFinishEditing(LayoutField * layoutField, Poin
return true;
}
void ListController::resolveEquations(bool secondTry) {
void ListController::resolveEquations() {
if (modelStore()->numberOfDefinedModels() == 0) {
Container::activeApp()->displayWarning(I18n::Message::EnterEquation);
return;
}
EquationStore::Error e = modelStore()->exactSolve(textFieldDelegateApp()->localContext(), secondTry);
bool resultWithoutUserDefinedSymbols = false;
EquationStore::Error e = modelStore()->exactSolve(textFieldDelegateApp()->localContext(), &resultWithoutUserDefinedSymbols);
switch (e) {
case EquationStore::Error::EquationUndefined:
Container::activeApp()->displayWarning(I18n::Message::UndefinedEquation);
@@ -188,22 +189,18 @@ void ListController::resolveEquations(bool secondTry) {
return;
case EquationStore::Error::RequireApproximateSolution:
{
App::app()->solutionsController()->setShouldReplaceFuncionsButNotSymbols(secondTry);
App::app()->solutionsController()->setShouldReplaceFuncionsButNotSymbols(resultWithoutUserDefinedSymbols);
stackController()->push(App::app()->intervalController(), KDColorWhite, Palette::PurpleBright, Palette::PurpleBright);
return;
}
default:
{
assert(e == EquationStore::Error::NoError);
if (modelStore()->numberOfSolutions() == 0 && !secondTry) {
resolveEquations(true);
return;
}
StackViewController * stack = stackController();
App::app()->solutionsController()->setShouldReplaceFuncionsButNotSymbols(secondTry);
App::app()->solutionsController()->setShouldReplaceFuncionsButNotSymbols(resultWithoutUserDefinedSymbols);
stack->push(App::app()->solutionsControllerStack(), KDColorWhite, Palette::PurpleBright, Palette::PurpleBright);
}
}
}
}
void ListController::reloadButtonMessage() {