19 declare(strict_types=1);
37 $this->reader =
new Reader();
47 require_once(__DIR__ .
"/scenarios/$scenario_file");
50 $resolved = $this->resolver->resolveDependencies([], ...
$components);
52 $result = $this->
renderer->render(...$resolved);
54 $expected = file_get_contents(__DIR__ .
"/scenarios/$result_file");
55 $this->assertEquals($expected, $result);
61 "no dependencies" => [
"scenario1.php",
"result1.php",
63 \ILIAS\Component\Tests\Dependencies\Scenario1\ComponentA::class
66 "pull dependency" => [
"scenario2.php",
"result2.php",
68 \ILIAS\Component\Tests\Dependencies\Scenario2\ComponentA::class,
69 \ILIAS\Component\Tests\Dependencies\Scenario2\ComponentB::class
72 "use dependency" => [
"scenario3.php",
"result3.php",
74 \ILIAS\Component\Tests\Dependencies\Scenario3\ComponentA::class,
75 \ILIAS\Component\Tests\Dependencies\Scenario3\ComponentB::class
78 "seek dependency" => [
"scenario4.php",
"result4.php",
80 \ILIAS\Component\Tests\Dependencies\Scenario4\ComponentA::class,
81 \ILIAS\Component\Tests\Dependencies\Scenario4\ComponentB::class,
82 \ILIAS\Component\Tests\Dependencies\Scenario4\ComponentC::class
85 "render entry points" => [
"scenario5.php",
"result5.php",
87 \ILIAS\Component\Tests\Dependencies\Scenario5\ComponentA::class
testScenario($scenario_file, $result_file, $components)
scenarios