ILIAS  trunk Revision v12.0_alpha-1227-g7ff6d300864
ilAdvancedMDRecordObjectOrderingsTest.php
Go to the documentation of this file.
1<?php
2
19use PHPUnit\Framework\TestCase;
21
23{
24 protected Container $dic;
25
26 protected function setUp(): void
27 {
29 parent::setUp();
30 }
31
32 public function testConstruct(): void
33 {
34 $sorting = new ilAdvancedMDRecordObjectOrderings();
35 $this->assertTrue($sorting instanceof ilAdvancedMDRecordObjectOrderings);
36 }
37
38 public function testGlobalRecordSorting(): void
39 {
40 $record_id_reflection = new ReflectionMethod(ilAdvancedMDRecord::class, 'setRecordId');
41
42 $ids = [1, 2, 3, 4, 5];
43 $positions = array_reverse($ids);
44 $records = [];
45 foreach ($ids as $id) {
46 $record = new ilAdvancedMDRecord();
47 $record->setGlobalPosition(array_shift($positions));
48 $record_id_reflection->invokeArgs($record, [$id]);
49
50 $records[] = $record;
51 }
52
53 $sorting = new ilAdvancedMDRecordObjectOrderings();
54 $sorted = $sorting->sortRecords($records);
55 $this->assertTrue(is_array($sorted));
56 foreach ($sorted as $index => $record) {
57 // test reverse ordering (idx + record equals 5)
58 $this->assertEquals(5, $index + $record->getRecordId());
59 }
60 }
61
66 protected function setGlobalVariable(string $name, $value): void
67 {
68 global $DIC;
69
70 $GLOBALS[$name] = $value;
71 unset($DIC[$name]);
72 $DIC[$name] = static function (\ILIAS\DI\Container $c) use ($value) {
73 return $value;
74 };
75 }
76
77 protected function initRecordSortingDependencies(): void
78 {
79 $this->dic = new Container();
80 $GLOBALS['DIC'] = $this->dic;
81 $this->setGlobalVariable('ilDB', $this->createMock(ilDBInterface::class));
82 }
83}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
$c
Definition: deliver.php:25
global $DIC
Definition: shib_login.php:26
$GLOBALS["DIC"]
Definition: wac.php:54