// swad_test.h: self-assessment tests #ifndef _SWAD_TST #define _SWAD_TST /* SWAD (Shared Workspace At a Distance in Spanish), is a web platform developed at the University of Granada (Spain), and used to support university teaching. This file is part of SWAD core. Copyright (C) 1999-2024 Antonio Caņas Vargas This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ /*****************************************************************************/ /********************************* Headers ***********************************/ /*****************************************************************************/ #include "swad_exam.h" #include "swad_game.h" #include "swad_media.h" #include "swad_question.h" #include "swad_question_type.h" #include "swad_test_config.h" #include "swad_test_print.h" /*****************************************************************************/ /***************************** Public constants ******************************/ /*****************************************************************************/ #define Tst_SCORE_MAX 10 // Maximum score of a test (10 in Spain). Must be unsigned! // TODO: Make this configurable by teachers /*****************************************************************************/ /******************************* Public types ********************************/ /*****************************************************************************/ typedef enum { Tst_SHOW_TEST_TO_ANSWER, // Showing a test to a student Tst_SHOW_TEST_RESULT, // Showing the assessment of a test Tst_EDIT_QUESTIONS, // Editing test questions Tst_SELECT_QUESTIONS_FOR_EXAM, // Selecting test questions for a set of questions in an exam Tst_SELECT_QUESTIONS_FOR_GAME, // Selecting test questions for a game } Tst_ActionToDoWithQuestions_t; /*****************************************************************************/ /***************************** Public prototypes *****************************/ /*****************************************************************************/ void Tst_ReqTest (void); void Tst_ShowNewTest (void); void Tst_ReceiveTestDraft (void); void Tst_AssessTest (void); void Tst_PutIconsTests (__attribute__((unused)) void *Args); bool Tst_GetParsTst (struct Qst_Questions *Questions, Tst_ActionToDoWithQuestions_t ActionToDoWithQuestions); //-------------------------------- Figures ------------------------------------ void Tst_GetAndShowTestsStats (void); #endif