ILIAS  release_8 Revision v8.24
ilCtrlStructureReaderTest.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
5/* Copyright (c) 2021 Thibeau Fuhrer <thf@studer-raimann.ch> Extended GPL, see docs/LICENSE */
6
7use PHPUnit\Framework\TestCase;
8
14class 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 ilCtrlArrayIterator.
Class ilCtrlStructureCidGenerator.
Class ilCtrlStructureReaderTest.
Class ilCtrlStructureReader is responsible for reading ilCtrl's control structure.