4require_once
'Modules/Test/classes/class.ilTestRandomQuestionCollectionSubsetApplication.php';
38 if (!isset($this->collectionSubsetApplications[$applicantId])) {
42 return $this->collectionSubsetApplications[$applicantId];
58 $this->collectionSubsetApplications[$collectionSubsetApplication->
getApplicantId()] = $collectionSubsetApplication;
104 return current($this->collectionSubsetApplications);
109 return next($this->collectionSubsetApplications);
114 return key($this->collectionSubsetApplications);
119 return key($this->collectionSubsetApplications) !==
null;
124 return reset($this->collectionSubsetApplications);
132 $questionReservationRequired =
false;
134 foreach ($this as $collectionSubsetApplication) {
135 if (!$collectionSubsetApplication->hasQuestion($question->
getQuestionId())) {
139 if ($collectionSubsetApplication->hasRequiredAmountLeft()) {
140 $questionReservationRequired =
true;
141 $collectionSubsetApplication->decrementRequiredAmount();
145 if ($questionReservationRequired) {
157 foreach ($this as $collectionSubsetApplication) {
158 $applicationsNonReservedQstCollection = $collectionSubsetApplication->getRelativeComplementCollection(
162 $availableQuestionCollection->mergeQuestionCollection($applicationsNonReservedQstCollection);
165 $nonReservedQuestionCollection = $availableQuestionCollection->getUniqueQuestionCollection();
167 return $nonReservedQuestionCollection->getQuestionAmount();
An exception for terminatinating execution or to throw for unit testing.
$collectionSubsetApplications
getCollectionSubsetApplication($applicantId)
getReservedQuestionCollection()
setCollectionSubsetApplications($collectionSubsetApplications)
handleQuestionRequest(ilTestRandomQuestionSetQuestion $question)
addCollectionSubsetApplication(ilTestRandomQuestionCollectionSubsetApplication $collectionSubsetApplication)
resetCollectionSubsetApplicants()
resetter for collectionSubsetApplicants
getCollectionSubsetApplications()
addReservedQuestion(ilTestRandomQuestionSetQuestion $reservedQuestion)
setReservedQuestionCollection($reservedQuestionCollection)
getNonReservedQuestionAmount()
__construct()
ilTestRandomQuestionCollectionSubsetApplicantList constructor.
$reservedQuestionCollection