ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilCtrlStructureReaderTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /* Copyright (c) 2021 Thibeau Fuhrer <thf@studer-raimann.ch> Extended GPL, see docs/LICENSE */
6 
8 
14 class ilCtrlStructureReaderTest extends TestCase
15 {
20 
24  protected function setUp(): void
25  {
26  $this->expected_test_gui_structure = require __DIR__ . '/../Data/Structure/test_ctrl_structure.php';
27  }
28 
30  {
31  $class_map = require __DIR__ . '/../Data/ClassMaps/valid_class_map.php';
32  $reader = new ilCtrlStructureReader(
33  new ilCtrlArrayIterator($class_map),
35  );
36 
37  $this->assertFalse($reader->isExecuted());
38  $this->assertEquals(
39  $this->expected_test_gui_structure,
40  $reader->readStructure()
41  );
42 
43  $this->assertTrue($reader->isExecuted());
44  }
45 
47  {
48  $class_map = require __DIR__ . '/../Data/ClassMaps/invalid_class_map.php';
49  $reader = new ilCtrlStructureReader(
50  new ilCtrlArrayIterator($class_map),
52  );
53 
54  $this->assertFalse($reader->isExecuted());
55  $this->assertEmpty($reader->readStructure());
56  $this->assertTrue($reader->isExecuted());
57  }
58 
60  {
61  $reader = new ilCtrlStructureReader(
62  new ilCtrlArrayIterator([]),
64  );
65 
66  $this->assertFalse($reader->isExecuted());
67  $this->assertEmpty($reader->readStructure());
68  $this->assertTrue($reader->isExecuted());
69  }
70 }
Class ilCtrlStructureCidGenerator.
Class ilCtrlStructureReader is responsible for reading ilCtrl&#39;s control structure.
Class ilCtrlStructureReaderTest.
Class ilCtrlArrayIterator.