ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation Class Reference
+ Collaboration diagram for ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation:

Public Member Functions

 __construct (protected readonly ilTestRandomQuestionSetSourcePoolDefinition $sourcePoolDefinition)
 
 getSourcePoolDefinition ()
 
 getIntersectionQuantitySharingDefinitionList ()
 
 setIntersectionQuantitySharingDefinitionList (ilTestRandomQuestionSetSourcePoolDefinitionList $intersectionQuantitySharingDefinitionList)
 
 getOverallQuestionAmount ()
 
 setOverallQuestionAmount (int $overallQuestionAmount)
 
 getExclusiveQuestionAmount ()
 
 setExclusiveQuestionAmount (int $exclusiveQuestionAmount)
 
 getAvailableSharedQuestionAmount ()
 
 setAvailableSharedQuestionAmount (int $availableSharedQuestionAmount)
 
 isRequiredAmountGuaranteedAvailable ()
 
 getDistributionReport (ilLanguage $lng)
 

Protected Member Functions

 getReservedSharedQuestionAmount ()
 
 getRemainingRequiredQuestionAmount ()
 
 isRequiredQuestionAmountSatisfiedByOverallQuestionQuantity ()
 
 isRequiredQuestionAmountSatisfiedByExclusiveQuestionQuantity ()
 
 isRemainingRequiredQuestionAmountSatisfiedBySharedQuestionQuantity ()
 
 sourcePoolDefinitionIntersectionsExist ()
 
 getRuleSatisfactionResultMessage (ilLanguage $lng)
 
 getConcurrentRuleConflictMessage (ilLanguage $lng)
 
 buildIntersectionQuestionSharingDefinitionsString (ilLanguage $lng)
 

Protected Attributes

ilTestRandomQuestionSetSourcePoolDefinitionList $intersectionQuantitySharingDefinitionList
 
int $overallQuestionAmount
 
int $exclusiveQuestionAmount
 
int $availableSharedQuestionAmount
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::__construct ( protected readonly ilTestRandomQuestionSetSourcePoolDefinition  $sourcePoolDefinition)

Member Function Documentation

◆ buildIntersectionQuestionSharingDefinitionsString()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::buildIntersectionQuestionSharingDefinitionsString ( ilLanguage  $lng)
protected

Definition at line 195 of file class.ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation.php.

References getIntersectionQuantitySharingDefinitionList(), and ilLanguage\txt().

Referenced by getConcurrentRuleConflictMessage().

195  : string
196  {
197  $definitionsString = [];
198 
199  foreach ($this->getIntersectionQuantitySharingDefinitionList() as $definition) {
200  $definitionsString[] = sprintf(
201  $lng->txt('tst_msg_rand_quest_set_rule_label'),
202  $definition->getSequencePosition()
203  );
204  }
205 
206  $definitionsString = '<ul><li>' . implode('</li><li>', $definitionsString) . '</li></ul>';
207  return $definitionsString;
208  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAvailableSharedQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getAvailableSharedQuestionAmount ( )

◆ getConcurrentRuleConflictMessage()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getConcurrentRuleConflictMessage ( ilLanguage  $lng)
protected

Definition at line 176 of file class.ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation.php.

References buildIntersectionQuestionSharingDefinitionsString(), getAvailableSharedQuestionAmount(), getReservedSharedQuestionAmount(), isRequiredQuestionAmountSatisfiedByOverallQuestionQuantity(), and ilLanguage\txt().

Referenced by getDistributionReport().

176  : string
177  {
178  $definitionsString = '<br />' . $this->buildIntersectionQuestionSharingDefinitionsString($lng);
179 
181  return sprintf(
182  $lng->txt('tst_msg_rand_quest_set_rule_not_satisfied_reserved_shared'),
184  $definitionsString
185  );
186  }
187 
188  return sprintf(
189  $lng->txt('tst_msg_rand_quest_set_rule_not_satisfied_missing_shared'),
191  $definitionsString
192  );
193  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDistributionReport()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getDistributionReport ( ilLanguage  $lng)

◆ getExclusiveQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getExclusiveQuestionAmount ( )

◆ getIntersectionQuantitySharingDefinitionList()

◆ getOverallQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getOverallQuestionAmount ( )

◆ getRemainingRequiredQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getRemainingRequiredQuestionAmount ( )
protected

◆ getReservedSharedQuestionAmount()

◆ getRuleSatisfactionResultMessage()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::getRuleSatisfactionResultMessage ( ilLanguage  $lng)
protected

Definition at line 157 of file class.ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation.php.

References getOverallQuestionAmount(), getSourcePoolDefinition(), isRequiredQuestionAmountSatisfiedByOverallQuestionQuantity(), and ilLanguage\txt().

Referenced by getDistributionReport().

157  : string
158  {
160  return sprintf(
161  $lng->txt('tst_msg_rand_quest_set_rule_not_satisfied_reserved'),
162  $this->getSourcePoolDefinition()->getSequencePosition(),
163  $this->getSourcePoolDefinition()->getQuestionAmount(),
164  $this->getOverallQuestionAmount()
165  );
166  }
167 
168  return sprintf(
169  $lng->txt('tst_msg_rand_quest_set_rule_not_satisfied_missing'),
170  $this->getSourcePoolDefinition()->getSequencePosition(),
171  $this->getSourcePoolDefinition()->getQuestionAmount(),
172  $this->getOverallQuestionAmount()
173  );
174  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSourcePoolDefinition()

◆ isRemainingRequiredQuestionAmountSatisfiedBySharedQuestionQuantity()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::isRemainingRequiredQuestionAmountSatisfiedBySharedQuestionQuantity ( )
protected

◆ isRequiredAmountGuaranteedAvailable()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::isRequiredAmountGuaranteedAvailable ( )

◆ isRequiredQuestionAmountSatisfiedByExclusiveQuestionQuantity()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::isRequiredQuestionAmountSatisfiedByExclusiveQuestionQuantity ( )
protected

◆ isRequiredQuestionAmountSatisfiedByOverallQuestionQuantity()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::isRequiredQuestionAmountSatisfiedByOverallQuestionQuantity ( )
protected

◆ setAvailableSharedQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::setAvailableSharedQuestionAmount ( int  $availableSharedQuestionAmount)

◆ setExclusiveQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::setExclusiveQuestionAmount ( int  $exclusiveQuestionAmount)

◆ setIntersectionQuantitySharingDefinitionList()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::setIntersectionQuantitySharingDefinitionList ( ilTestRandomQuestionSetSourcePoolDefinitionList  $intersectionQuantitySharingDefinitionList)

Definition at line 49 of file class.ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation.php.

References $intersectionQuantitySharingDefinitionList.

51  : void {
52  $this->intersectionQuantitySharingDefinitionList = $intersectionQuantitySharingDefinitionList;
53  }

◆ setOverallQuestionAmount()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::setOverallQuestionAmount ( int  $overallQuestionAmount)

◆ sourcePoolDefinitionIntersectionsExist()

ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::sourcePoolDefinitionIntersectionsExist ( )
protected

Definition at line 124 of file class.ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation.php.

References getIntersectionQuantitySharingDefinitionList().

Referenced by getDistributionReport().

124  : bool
125  {
126  if ($this->getIntersectionQuantitySharingDefinitionList()->getDefinitionCount() > 0) {
127  return true;
128  }
129 
130  return false;
131  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $availableSharedQuestionAmount

int ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::$availableSharedQuestionAmount
protected

◆ $exclusiveQuestionAmount

int ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::$exclusiveQuestionAmount
protected

◆ $intersectionQuantitySharingDefinitionList

ilTestRandomQuestionSetSourcePoolDefinitionList ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::$intersectionQuantitySharingDefinitionList
protected

◆ $overallQuestionAmount

int ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculation::$overallQuestionAmount
protected

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