ILIAS  release_4-4 Revision
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTestRandomQuestionSetBuilderWithAmountPerTest Class Reference
+ Inheritance diagram for ilTestRandomQuestionSetBuilderWithAmountPerTest:
+ Collaboration diagram for ilTestRandomQuestionSetBuilderWithAmountPerTest:

Public Member Functions

 checkBuildable ()
 
 performBuild (ilTestSession $testSession)
 
- Public Member Functions inherited from ilTestRandomQuestionSetBuilder
 checkBuildable ()
 
 performBuild (ilTestSession $testSession)
 

Private Member Functions

 isQuestionSetFetchable ($questionStage)
 

Additional Inherited Members

- Static Public Member Functions inherited from ilTestRandomQuestionSetBuilder
static getInstance (ilDB $db, ilObjTest $testOBJ, ilTestRandomQuestionSetConfig $questionSetConfig, ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
- Protected Member Functions inherited from ilTestRandomQuestionSetBuilder
 __construct (ilDB $db, ilObjTest $testOBJ, ilTestRandomQuestionSetConfig $questionSetConfig, ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
 getQuestionStageForSourcePoolDefinition (ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
 storeQuestionSet (ilTestSession $testSession, $questionSet)
 
 fetchQuestionsFromStageRandomly ($questionStage, $requiredQuestionAmount)
 
 handleQuestionOrdering ($questionSet)
 
- Protected Attributes inherited from ilTestRandomQuestionSetBuilder
 $db = null
 
 $testOBJ = null
 
 $questionSetConfig = null
 
 $sourcePoolDefinitionList = null
 
 $stagingPoolQuestionList = null
 

Detailed Description

Member Function Documentation

◆ checkBuildable()

ilTestRandomQuestionSetBuilderWithAmountPerTest::checkBuildable ( )

Definition at line 14 of file class.ilTestRandomQuestionSetBuilderWithAmountPerTest.php.

References isQuestionSetFetchable().

15  {
16  $questionStage = $this->getQuestionStageForSourcePoolDefinitionList($this->sourcePoolDefinitionList);
17 
18  return $this->isQuestionSetFetchable($questionStage);
19  }
+ Here is the call graph for this function:

◆ isQuestionSetFetchable()

ilTestRandomQuestionSetBuilderWithAmountPerTest::isQuestionSetFetchable (   $questionStage)
private

Definition at line 34 of file class.ilTestRandomQuestionSetBuilderWithAmountPerTest.php.

Referenced by checkBuildable().

35  {
36  $requiredAmount = $this->questionSetConfig->getQuestionAmountPerTest();
37  $possibleAmount = count($questionStage);
38 
39  return ( $possibleAmount >= $requiredAmount );
40  }
+ Here is the caller graph for this function:

◆ performBuild()

ilTestRandomQuestionSetBuilderWithAmountPerTest::performBuild ( ilTestSession  $testSession)

Definition at line 21 of file class.ilTestRandomQuestionSetBuilderWithAmountPerTest.php.

References ilTestRandomQuestionSetBuilder\fetchQuestionsFromStageRandomly(), ilTestRandomQuestionSetBuilder\handleQuestionOrdering(), and ilTestRandomQuestionSetBuilder\storeQuestionSet().

22  {
23  $questionStage = $this->getQuestionStageForSourcePoolDefinitionList($this->sourcePoolDefinitionList);
24 
25  $questionSet = $this->fetchQuestionsFromStageRandomly(
26  $questionStage, $this->questionSetConfig->getQuestionAmountPerTest()
27  );
28 
29  $questionSet = $this->handleQuestionOrdering($questionSet);
30 
31  $this->storeQuestionSet($testSession, $questionSet);
32  }
fetchQuestionsFromStageRandomly($questionStage, $requiredQuestionAmount)
storeQuestionSet(ilTestSession $testSession, $questionSet)
+ Here is the call graph for this function:

The documentation for this class was generated from the following file: