ILIAS  release_8 Revision v8.24
ilTestVirtualSequenceRandomQuestionSet Class Reference
+ Inheritance diagram for ilTestVirtualSequenceRandomQuestionSet:
+ Collaboration diagram for ilTestVirtualSequenceRandomQuestionSet:

Public Member Functions

 __construct (ilDBInterface $db, ilObjTest $testOBJ, ilTestSequenceFactory $testSequenceFactory)
 
 getResponsibleSourcePoolDefinitionId ($questionId)
 
- Public Member Functions inherited from ilTestVirtualSequence
 __construct (ilDBInterface $db, ilObjTest $testOBJ, ilTestSequenceFactory $testSequenceFactory)
 
 getActiveId ()
 
 setActiveId (int $activeId)
 
 getQuestionIds ()
 
 getQuestionsPassMap ()
 
 getUniquePasses ()
 
 init ()
 
 getQuestionIds ()
 
 getResponsibleSourcePoolDefinitionId ($questionId)
 

Protected Member Functions

 fetchQuestionsFromPasses (int $activeId, array $passes)
 
- Protected Member Functions inherited from ilTestVirtualSequence
 getTestSequence (int $activeId, int $pass)
 
 wasAnsweredInThisPass (ilTestSequence $testSequence, $questionId)
 
 fetchQuestionsFromPasses (int $activeId, array $passes)
 

Private Attributes

array $questionsSourcePoolDefinitionMap
 

Additional Inherited Members

- Protected Attributes inherited from ilTestVirtualSequence
ilDBInterface $db
 
ilObjTest $testOBJ
 
ilTestSequenceFactory $testSequenceFactory
 
int $activeId
 
array $questionsPassMap
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestVirtualSequenceRandomQuestionSet::__construct ( ilDBInterface  $db,
ilObjTest  $testOBJ,
ilTestSequenceFactory  $testSequenceFactory 
)

Reimplemented from ilTestVirtualSequence.

Definition at line 29 of file class.ilTestVirtualSequenceRandomQuestionSet.php.

30 {
32
33 $this->questionsSourcePoolDefinitionMap = array();
34 }
ilTestSequenceFactory $testSequenceFactory
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ilTestVirtualSequence\$db, ilTestVirtualSequence\$testOBJ, ilTestVirtualSequence\$testSequenceFactory, and ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ fetchQuestionsFromPasses()

ilTestVirtualSequenceRandomQuestionSet::fetchQuestionsFromPasses ( int  $activeId,
array  $passes 
)
protected
Parameters
int[]$passes

Reimplemented from ilTestVirtualSequence.

Definition at line 41 of file class.ilTestVirtualSequenceRandomQuestionSet.php.

41 : void
42 {
43 $this->questionsPassMap = array();
44
45 foreach ($passes as $pass) {
46 $handledSourcePoolDefinitions = array_flip($this->questionsSourcePoolDefinitionMap);
47
48 $testSequence = $this->getTestSequence($activeId, $pass);
49
50 foreach ($testSequence->getOrderedSequenceQuestions() as $questionId) {
51 $definitionId = $testSequence->getResponsibleSourcePoolDefinitionId($questionId);
52
53 if (isset($handledSourcePoolDefinitions[$definitionId])) {
54 continue;
55 }
56
57 if ($this->wasAnsweredInThisPass($testSequence, $questionId)) {
58 $this->questionsPassMap[$questionId] = $pass;
59
60 $this->questionsSourcePoolDefinitionMap[$questionId] = $definitionId;
61 }
62 }
63 }
64 }
wasAnsweredInThisPass(ilTestSequence $testSequence, $questionId)
getTestSequence(int $activeId, int $pass)

References ilTestVirtualSequence\getTestSequence(), and ilTestVirtualSequence\wasAnsweredInThisPass().

+ Here is the call graph for this function:

◆ getResponsibleSourcePoolDefinitionId()

ilTestVirtualSequenceRandomQuestionSet::getResponsibleSourcePoolDefinitionId (   $questionId)

Implements ilTestRandomQuestionSequence.

Definition at line 36 of file class.ilTestVirtualSequenceRandomQuestionSet.php.

37 {
38 return $this->questionsSourcePoolDefinitionMap[$questionId];
39 }

Field Documentation

◆ $questionsSourcePoolDefinitionMap

array ilTestVirtualSequenceRandomQuestionSet::$questionsSourcePoolDefinitionMap
private

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