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

Public Member Functions

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

Private Member Functions

 isQuestionSetFetchable (ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, $questionStage)
 
 getUniqueQuestionCollectionFromPotentialQuestionCollection ($potentialQuestionCollection, $otherQuestionCollection)
 
 questionCollectionGreaterThanRequiredAmount ($questionCollection, $requiredAmount)
 
 questionCollectionSmallerThanRequiredAmount ($questionCollection, $requiredAmount)
 
 mergeQuestionCollections ($questionSet, $questions)
 
 getMissingQuestionCount ($questionSet, $requiredQuestionAmount)
 

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()

ilTestRandomQuestionSetBuilderWithAmountPerPool::checkBuildable ( )

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

References isQuestionSetFetchable().

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

◆ getMissingQuestionCount()

ilTestRandomQuestionSetBuilderWithAmountPerPool::getMissingQuestionCount (   $questionSet,
  $requiredQuestionAmount 
)
private

Definition at line 93 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

References ilTestRandomQuestionSetBuilder\$sourcePoolDefinitionList.

Referenced by isQuestionSetFetchable().

94  {
95  return ( $requiredQuestionAmount - count($questionSet) );
96  }
+ Here is the caller graph for this function:

◆ getUniqueQuestionCollectionFromPotentialQuestionCollection()

ilTestRandomQuestionSetBuilderWithAmountPerPool::getUniqueQuestionCollectionFromPotentialQuestionCollection (   $potentialQuestionCollection,
  $otherQuestionCollection 
)
private

Definition at line 72 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

Referenced by isQuestionSetFetchable().

73  {
74  $uniqueQuestionCollection = array_diff($potentialQuestionCollection, $otherQuestionCollection);
75  return $uniqueQuestionCollection;
76  }
+ Here is the caller graph for this function:

◆ isQuestionSetFetchable()

ilTestRandomQuestionSetBuilderWithAmountPerPool::isQuestionSetFetchable ( ilTestRandomQuestionSetSourcePoolDefinitionList  $sourcePoolDefinitionList,
  $questionStage 
)
private

Definition at line 20 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

References ilTestRandomQuestionSetBuilder\fetchQuestionsFromStageRandomly(), getMissingQuestionCount(), ilTestRandomQuestionSetBuilder\getQuestionStageForSourcePoolDefinition(), getUniqueQuestionCollectionFromPotentialQuestionCollection(), ilTestRandomQuestionSetBuilder\handleQuestionOrdering(), mergeQuestionCollections(), ilTestRandomQuestionSetBuilder\performBuild(), questionCollectionGreaterThanRequiredAmount(), questionCollectionSmallerThanRequiredAmount(), and ilTestRandomQuestionSetBuilder\storeQuestionSet().

Referenced by checkBuildable().

21  {
22  $requiredAmount = $this->getRequiredQuestionAmountForDefinitionList($sourcePoolDefinitionList);
23  $possibleAmount = count($questionStage);
24 
25  return ( $possibleAmount >= $requiredAmount );
26  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ mergeQuestionCollections()

ilTestRandomQuestionSetBuilderWithAmountPerPool::mergeQuestionCollections (   $questionSet,
  $questions 
)
private

Definition at line 88 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

Referenced by isQuestionSetFetchable().

89  {
90  return array_merge($questionSet, $questions);
91  }
+ Here is the caller graph for this function:

◆ questionCollectionGreaterThanRequiredAmount()

ilTestRandomQuestionSetBuilderWithAmountPerPool::questionCollectionGreaterThanRequiredAmount (   $questionCollection,
  $requiredAmount 
)
private

Definition at line 78 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

Referenced by isQuestionSetFetchable().

79  {
80  return count($questionCollection) > $requiredAmount;
81  }
+ Here is the caller graph for this function:

◆ questionCollectionSmallerThanRequiredAmount()

ilTestRandomQuestionSetBuilderWithAmountPerPool::questionCollectionSmallerThanRequiredAmount (   $questionCollection,
  $requiredAmount 
)
private

Definition at line 83 of file class.ilTestRandomQuestionSetBuilderWithAmountPerPool.php.

Referenced by isQuestionSetFetchable().

84  {
85  return count($questionCollection) < $requiredAmount;
86  }
+ Here is the caller graph for this function:

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