29     protected function setUp(): void
    31         $this->data_factory = 
new Data\Factory();
    51             $this->data_factory->version(
"6.5"),
    56             $this->data_factory->version(
"1.0.0"),
    58             $this->data_factory->version(
"1.0.0"),
    59             $this->data_factory->version(
"6.0"),
    60             $this->data_factory->version(
"6.99"),
    62             "richard.klees@concepts-and-training.de",
    71         $this->assertEquals($this->pluginslot, $this->plugin->getPluginSlot());
    72         $this->assertEquals($this->component, $this->plugin->getComponent());
    73         $this->assertEquals(
"plg1", $this->plugin->getId());
    74         $this->assertEquals(
"Plugin1", $this->plugin->getName());
    75         $this->assertTrue($this->plugin->isActivated());
    76         $this->assertEquals($this->data_factory->version(
"1.0.0"), $this->plugin->getCurrentVersion());
    77         $this->assertEquals(12, $this->plugin->getCurrentDBVersion());
    78         $this->assertEquals($this->data_factory->version(
"1.0.0"), $this->plugin->getAvailableVersion());
    79         $this->assertEquals($this->data_factory->version(
"6.0"), $this->plugin->getMinimumILIASVersion());
    80         $this->assertEquals($this->data_factory->version(
"6.99"), $this->plugin->getMaximumILIASVersion());
    81         $this->assertEquals(
"Richard Klees", $this->plugin->getResponsible());
    82         $this->assertEquals(
"richard.klees@concepts-and-training.de", $this->plugin->getResponsibleMail());
    83         $this->assertTrue($this->plugin->supportsLearningProgress());
    84         $this->assertFalse($this->plugin->supportsExport());
    85         $this->assertTrue($this->plugin->supportsCLISetup());
    90         $this->assertTrue($this->plugin->isInstalled());
    96             $this->data_factory->version(
"6.5"),
   103             $this->data_factory->version(
"1.0.0"),
   104             $this->data_factory->version(
"6.0"),
   105             $this->data_factory->version(
"6.99"),
   107             "richard.klees@concepts-and-training.de",
   113         $this->assertFalse($this->plugin->isInstalled());
   118         $this->assertFalse($this->plugin->isUpdateRequired());
   124             $this->data_factory->version(
"6.5"),
   131             $this->data_factory->version(
"1.0.0"),
   132             $this->data_factory->version(
"6.0"),
   133             $this->data_factory->version(
"6.99"),
   135             "richard.klees@concepts-and-training.de",
   141         $this->assertFalse($this->plugin->isUpdateRequired());
   147             $this->data_factory->version(
"6.5"),
   152             $this->data_factory->version(
"2.0.0"),
   154             $this->data_factory->version(
"1.0.0"),
   155             $this->data_factory->version(
"6.0"),
   156             $this->data_factory->version(
"6.99"),
   158             "richard.klees@concepts-and-training.de",
   164         $this->assertTrue($this->plugin->isUpdateRequired());
   169         $this->assertFalse($this->plugin->isVersionToOld());
   172             $this->data_factory->version(
"6.5"),
   177             $this->data_factory->version(
"1.0.0"),
   179             $this->data_factory->version(
"2.0.0"),
   180             $this->data_factory->version(
"6.0"),
   181             $this->data_factory->version(
"6.99"),
   183             "richard.klees@concepts-and-training.de",
   188         $this->assertFalse($plugin->isVersionToOld());
   191             $this->data_factory->version(
"6.5"),
   196             $this->data_factory->version(
"1.2.2"),
   198             $this->data_factory->version(
"1.0.0"),
   199             $this->data_factory->version(
"6.0"),
   200             $this->data_factory->version(
"6.99"),
   202             "richard.klees@concepts-and-training.de",
   207         $this->assertTrue($plugin->isVersionToOld());
   221             $this->data_factory->version(
"1.2.2"),
   223             $this->data_factory->version(
"1.0.0"),
   224             $this->data_factory->version(
"6.0"),
   225             $this->data_factory->version(
"6.99"),
   227             "richard.klees@concepts-and-training.de",
   237         $data_factory = 
new Data\Factory();
   239             [$data_factory->version(
"5.4"), 
false],
   240             [$data_factory->version(
"6.5"), 
true],
   241             [$data_factory->version(
"7.1"), 
false]
   249             $this->plugin->getPath()
   257             $this->plugin->getClassName()
   264             "ilPlugin1ConfigGUI",
   265             $this->plugin->getConfigGUIClassName()
   274         bool $supports_current_ilias,
   276         bool $is_version_to_old,
   277         bool $is_activation_possible
   279         $plugin = 
new class ($is_installed, $supports_current_ilias, $needs_update, $is_version_to_old) extends 
ilPluginInfo {
   280             protected bool $is_installed;
   281             protected bool $supports_current_ilias;
   282             protected bool $needs_update;
   283             protected bool $is_version_to_old;
   287                 bool $supports_current_ilias,
   289                 bool $is_version_to_old
   291                 $this->is_installed = $is_installed;
   292                 $this->supports_current_ilias = $supports_current_ilias;
   293                 $this->needs_update = $needs_update;
   294                 $this->is_version_to_old = $is_version_to_old;
   297             public function isInstalled(): 
bool   299                 return $this->is_installed;
   302             public function isUpdateRequired(): 
bool   304                 return $this->needs_update;
   307             public function isCompliantToILIAS(): 
bool   309                 return $this->supports_current_ilias;
   312             public function isVersionToOld(): 
bool   314                 return $this->is_version_to_old;
   325             [
false, 
false, 
false, 
false, 
false],
   326             [
false, 
false, 
true, 
false, 
false],
   327             [
false, 
true, 
false, 
false, 
false],
   328             [
false, 
true, 
true, 
false, 
false],
   329             [
true, 
false, 
false, 
false, 
false],
   330             [
true, 
false, 
true, 
false, 
false],
   331             [
true, 
true, 
false, 
false, 
true],
   332             [
true, 
true, 
true, 
true, 
false],
   333             [
false, 
false, 
false, 
true, 
false],
   334             [
false, 
false, 
true, 
true, 
false],
   335             [
false, 
true, 
false, 
true, 
false],
   336             [
false, 
true, 
true, 
true, 
false],
   337             [
true, 
false, 
false, 
true, 
false],
   338             [
true, 
false, 
true, 
true, 
false],
   339             [
true, 
true, 
false, 
true, 
false],
   340             [
true, 
true, 
true, 
true, 
false]
   349         bool $supports_current_ilias,
   352         bool $is_version_to_old,
   353         bool $is_activation_possible
   355         $plugin = 
new class ($is_installed, $supports_current_ilias, $needs_update, $is_activated, $is_version_to_old) extends 
ilPluginInfo {
   356             protected bool $is_installed;
   357             protected bool $supports_current_ilias;
   358             protected bool $needs_update;
   359             protected bool $is_activated;
   360             protected bool $is_version_to_old;
   364                 bool $supports_current_ilias,
   367                 bool $is_version_to_old
   369                 $this->is_installed = $is_installed;
   370                 $this->supports_current_ilias = $supports_current_ilias;
   371                 $this->needs_update = $needs_update;
   372                 $this->is_activated = $is_activated;
   373                 $this->is_version_to_old = $is_version_to_old;
   376             public function isActivated(): 
bool   378                 return $this->is_activated;
   381             public function isInstalled(): 
bool   383                 return $this->is_installed;
   386             public function isUpdateRequired(): 
bool   388                 return $this->needs_update;
   391             public function isCompliantToILIAS(): 
bool   393                 return $this->supports_current_ilias;
   396             public function isVersionToOld(): 
bool   398                 return $this->is_version_to_old;
   402         $this->assertEquals($is_activation_possible, $plugin->
isActive());
   409             [
false, 
false, 
false, 
false, 
false, 
false],
   410             [
false, 
false, 
false, 
true, 
false, 
false],
   411             [
false, 
false, true , 
false, 
false, 
false],
   412             [
false, 
false, true , 
true, 
false, 
false],
   413             [
false, 
true, 
false, 
false, 
false, 
false],
   414             [
false, 
true, 
false, 
true, 
false, 
false],
   415             [
false, 
true, true , 
false, 
false, 
false],
   416             [
false, 
true, true , 
true, 
false, 
false],
   417             [
true, 
false, 
false, 
false, 
false, 
false],
   418             [
true, 
false, 
false, 
true, 
false, 
false],
   419             [
true, 
false, true , 
false, 
false, 
false],
   420             [
true, 
false, true , 
true, 
false, 
false],
   421             [
true, 
true, 
false, 
false, 
false, 
false],
   422             [
true, 
true, 
false, 
true, 
false, 
true],
   423             [
true, 
true, true , 
false, 
false, 
false],
   424             [
true, 
true, true , 
true, 
false, 
false],
   426             [
false, 
false, 
false, 
false, 
true, 
false],
   427             [
false, 
false, 
false, 
true, 
true, 
false],
   428             [
false, 
false, true , 
false, 
true, 
false],
   429             [
false, 
false, true , 
true, 
true, 
false],
   430             [
false, 
true, 
false, 
false, 
true, 
false],
   431             [
false, 
true, 
false, 
true, 
true, 
false],
   432             [
false, 
true, true , 
false, 
true, 
false],
   433             [
false, 
true, true , 
true, 
true, 
false],
   434             [
true, 
false, 
false, 
false, 
true, 
false],
   435             [
true, 
false, 
false, 
true, 
true, 
false],
   436             [
true, 
false, true , 
false, 
true, 
false],
   437             [
true, 
false, true , 
true, 
true, 
false],
   438             [
true, 
true, 
false, 
false, 
true, 
false],
   439             [
true, 
true, 
false, 
true, 
true, 
false],
   440             [
true, 
true, true , 
false, 
true, 
false],
   441             [
true, 
true, true , 
true, 
true, 
false],
   451         bool $supports_current_ilias,
   454         bool $is_version_to_old,
   455         string $inactivity_reason
   457         $plugin = 
new class ($is_installed, $supports_current_ilias, $needs_update, $is_activated, $is_version_to_old) extends 
ilPluginInfo {
   458             protected bool $is_installed;
   459             protected bool $supports_current_ilias;
   460             protected bool $needs_update;
   461             protected bool $is_activated;
   462             protected bool $is_version_to_old;
   466                 bool $supports_current_ilias,
   469                 bool $is_version_to_old
   471                 $this->is_installed = $is_installed;
   472                 $this->supports_current_ilias = $supports_current_ilias;
   473                 $this->needs_update = $needs_update;
   474                 $this->is_activated = $is_activated;
   475                 $this->is_version_to_old = $is_version_to_old;
   478             public function isActivated(): 
bool   480                 return $this->is_activated;
   483             public function isInstalled(): 
bool   485                 return $this->is_installed;
   488             public function isUpdateRequired(): 
bool   490                 return $this->needs_update;
   493             public function isCompliantToILIAS(): 
bool   495                 return $this->supports_current_ilias;
   498             public function getCurrentVersion(): ?Data\Version
   500                 return $this->current_version;
   503             public function isVersionToOld(): 
bool   505                 return $this->is_version_to_old;
   514         $this->expectException(LogicException::class);
   521             public function isActive(): 
bool   534             [
false, 
false, 
false, 
false, 
false, 
"cmps_needs_matching_ilias_version"],
   535             [
false, 
false, 
false, 
true, 
false, 
"cmps_needs_matching_ilias_version"],
   536             [
false, 
false, true , 
false, 
false, 
"cmps_needs_matching_ilias_version"],
   537             [
false, 
false, true , 
true, 
false, 
"cmps_needs_matching_ilias_version"],
   538             [
false, 
true, 
false, 
false, 
false, 
"cmps_must_installed"],
   539             [
false, 
true, 
false, 
true, 
false, 
"cmps_must_installed"],
   540             [
false, 
true, true , 
false, 
false, 
"cmps_must_installed"],
   541             [
false, 
true, true , 
true, 
false, 
"cmps_must_installed"],
   542             [
true, 
false, 
false, 
false, 
false, 
"cmps_needs_matching_ilias_version"],
   543             [
true, 
false, 
false, 
true, 
false, 
"cmps_needs_matching_ilias_version"],
   544             [
true, 
false, true , 
false, 
false, 
"cmps_needs_matching_ilias_version"],
   545             [
true, 
false, true , 
true, 
false, 
"cmps_needs_matching_ilias_version"],
   546             [
true, 
true, 
false, 
false, 
false, 
"cmps_not_activated"],
   547             [
true, 
true, true , 
false, 
false, 
"cmps_needs_update"],
   548             [
true, 
true, true , 
true, 
false, 
"cmps_needs_update"],
   549             [
false, 
false, 
false, 
false, 
true, 
"cmps_needs_matching_ilias_version"],
   550             [
false, 
false, 
false, 
true, 
true, 
"cmps_needs_matching_ilias_version"],
   551             [
false, 
false, true , 
false, 
true, 
"cmps_needs_matching_ilias_version"],
   552             [
false, 
false, true , 
true, 
true, 
"cmps_needs_matching_ilias_version"],
   553             [
false, 
true, 
false, 
false, 
true, 
"cmps_must_installed"],
   554             [
false, 
true, 
false, 
true, 
true, 
"cmps_must_installed"],
   555             [
false, 
true, true , 
false, 
true, 
"cmps_must_installed"],
   556             [
false, 
true, true , 
true, 
true, 
"cmps_must_installed"],
   557             [
true, 
false, 
false, 
false, 
true, 
"cmps_needs_matching_ilias_version"],
   558             [
true, 
false, 
false, 
true, 
true, 
"cmps_needs_matching_ilias_version"],
   559             [
true, 
false, true , 
false, 
true, 
"cmps_needs_matching_ilias_version"],
   560             [
true, 
false, true , 
true, 
true, 
"cmps_needs_matching_ilias_version"],
   561             [
true, 
true, 
false, 
false, 
true, 
"cmps_needs_upgrade"],
   562             [
true, 
true, true , 
false, 
true, 
"cmps_needs_upgrade"],
   563             [
true, 
true, true , 
true, 
true, 
"cmps_needs_upgrade"],
 
testIsCompliantToILIAS(Data\Version $version, bool $is_compliant)
versionCompliance 
 
testGetReasonForInactivityThrowsOnActivePlugin()
 
testIsActivationPossible(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_version_to_old, bool $is_activation_possible)
isActivationPossibleTruthTable 
 
testIsActive(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_activated, bool $is_version_to_old, bool $is_activation_possible)
isActiveTruthTable 
 
ilComponentInfo $component
 
Simple value class for basic information about a pluginslot. 
 
isActive()
Is this plugin active right now? 
 
Data Factory $data_factory
 
testUpdateIsNotRequired()
 
testUpdateIsNotRequiredNotInstalled()
 
isActivationPossibleTruthTable()
 
testGetConfigureClassName()
 
isActivationPossible()
Can this plugin be activated right now. 
 
isCompliantToILIAS()
"ILIAS Version compliance" tells if the plugin can be operated with the given ILIAS version...
 
Simple value class for information about a plugin. 
 
getReasonForInactivity()
Which is the reason for the inactivity? 
 
ilPluginSlotInfo $pluginslot
 
A version number that consists of three numbers (major, minor, patch). 
 
Simple value class for basic information about a component. 
 
testGetReasonForInactivity(bool $is_installed, bool $supports_current_ilias, bool $needs_update, bool $is_activated, bool $is_version_to_old, string $inactivity_reason)
inactivityReasonTable 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...