function getTestOutput($active_id, $pass = NULL, $is_postponed = FALSE, $use_post_solutions = FALSE, $show_feedback = FALSE)
 {
     ilUtil::sendInfo($this->lng->txt('enter_valid_values'));
     // get the solution of the user for the active pass or from the last pass if allowed
     $user_solution = null;
     if ($active_id) {
         $solutions = NULL;
         include_once "./Modules/Test/classes/class.ilObjTest.php";
         if (is_null($pass)) {
             $pass = ilObjTest::_getPass($active_id);
         }
         $user_solution["active_id"] = $active_id;
         $user_solution["pass"] = $pass;
         $solutions =& $this->object->getSolutionValues($active_id, $pass);
         foreach ($solutions as $idx => $solution_value) {
             if (preg_match("/^(\\\$v\\d+)\$/", $solution_value["value1"], $matches)) {
                 $user_solution[$matches[1]] = $solution_value["value2"];
             } else {
                 if (preg_match("/^(\\\$r\\d+)\$/", $solution_value["value1"], $matches)) {
                     if (!array_key_exists($matches[1], $user_solution)) {
                         $user_solution[$matches[1]] = array();
                     }
                     $user_solution[$matches[1]]["value"] = $solution_value["value2"];
                 } else {
                     if (preg_match("/^(\\\$r\\d+)_unit\$/", $solution_value["value1"], $matches)) {
                         if (!array_key_exists($matches[1], $user_solution)) {
                             $user_solution[$matches[1]] = array();
                         }
                         $user_solution[$matches[1]]["unit"] = $solution_value["value2"];
                     }
                 }
             }
             if (preg_match("/^(\\\$r\\d+)/", $solution_value["value1"], $matches) && $user_solution[$matches[1]]["result_type"] == 0) {
                 $user_solution[$matches[1]]["result_type"] = assFormulaQuestionResult::getResultTypeByQstId($this->object->getId(), $solution_value["value1"]);
             }
         }
     }
     // generate the question output
     $template = new ilTemplate("tpl.il_as_qpl_formulaquestion_output.html", true, true, 'Modules/TestQuestionPool');
     $questiontext = $this->object->substituteVariables($user_solution);
     $template->setVariable("QUESTIONTEXT", $this->object->prepareTextareaOutput($questiontext, TRUE));
     $questionoutput = $template->get();
     $pageoutput = $this->outQuestionPage("", $is_postponed, $active_id, $questionoutput);
     return $pageoutput;
 }