ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\MetaData\Services\DataHelper\DataHelperTest Class Reference
+ Inheritance diagram for ILIAS\MetaData\Services\DataHelper\DataHelperTest:
+ Collaboration diagram for ILIAS\MetaData\Services\DataHelper\DataHelperTest:

Public Member Functions

 testMakePresentable ()
 
 testMakePresentableAsList ()
 
 testDurationToArray ()
 
 testDurationToSeconds ()
 
 testDatetimeToObject ()
 
 testDurationFromIntegers ()
 
 testDatetimeFromObject ()
 
 testGetAllLanguages ()
 

Protected Member Functions

 getData (string $value)
 
 getDataHelper ()
 

Detailed Description

Definition at line 29 of file DataHelperTest.php.

Member Function Documentation

◆ getData()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::getData ( string  $value)
protected

Definition at line 31 of file DataHelperTest.php.

31 : ElementsDataInterface
32 {
33 return new class ($value) extends NullElementsData {
34 public function __construct(protected string $value)
35 {
36 }
37
38 public function value(): string
39 {
40 return $this->value;
41 }
42 };
43 }
__construct(InternalDataHelper $internal_helper, DataPresentation $data_presentation)
Definition: DataHelper.php:32

References ILIAS\MetaData\Services\DataHelper\DataHelper\__construct().

+ Here is the call graph for this function:

◆ getDataHelper()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::getDataHelper ( )
protected

Definition at line 45 of file DataHelperTest.php.

45 : DataHelper
46 {
47 $internal_helper = new class () extends NullInternalDataHelper {
48 public function durationToIterator(string $duration): \Generator
49 {
50 foreach (explode(':', $duration) as $v) {
51 yield $v === '' ? null : $v;
52 }
53 }
54
55 public function durationToSeconds(string $duration): int
56 {
57 $r = 0;
58 foreach ($this->durationToIterator($duration) as $v) {
59 $r += $v;
60 }
61 return $r;
62 }
63
64 public function datetimeToObject(string $datetime): \DateTimeImmutable
65 {
66 return new \DateTimeImmutable($datetime);
67 }
68
69 public function durationFromIntegers(
70 ?int $years,
71 ?int $months,
72 ?int $days,
73 ?int $hours,
74 ?int $minutes,
75 ?int $seconds
76 ): string {
77 $array = [$years, $months, $days, $hours, $minutes, $seconds];
78 return implode(':', $array);
79 }
80
81 public function datetimeFromObject(\DateTimeImmutable $object): string
82 {
83 return $object->format('Y-m-d');
84 }
85
86 public function getAllLanguages(): \Generator
87 {
88 yield from ['lang1', 'lang2', 'lang3'];
89 }
90 };
91
92 $data_presentation = new class () extends NullData {
93 public function dataValue(ElementsDataInterface $data): string
94 {
95 return 'presentable ' . $data->value();
96 }
97
98 public function language(string $language): string
99 {
100 return 'translated_' . $language;
101 }
102 };
103
104 return new DataHelper($internal_helper, $data_presentation);
105 }
$datetime
$duration
datetimeToObject(string $datetime)
Translates strings in the LOM-internal datetime format to datetime objects.
Definition: DataHelper.php:71
durationFromIntegers(?int $years, ?int $months, ?int $days, ?int $hours, ?int $minutes, ?int $seconds)
Get a string in the LOM-internal duration format as specified by the provided integers.
Definition: DataHelper.php:76
datetimeFromObject(\DateTimeImmutable $object)
Translates datetime objects to strings in the LOM-internal datetime format.
Definition: DataHelper.php:94
durationToSeconds(string $duration)
Translates strings in the LOM-internal duration format to seconds.
Definition: DataHelper.php:66

References $data, ILIAS\MetaData\Services\DataHelper\DataHelper\$data_presentation, $datetime, $duration, ILIAS\MetaData\Services\DataHelper\DataHelper\$internal_helper, ILIAS\MetaData\Services\DataHelper\DataHelper\datetimeFromObject(), ILIAS\MetaData\Services\DataHelper\DataHelper\datetimeToObject(), ILIAS\MetaData\Services\DataHelper\DataHelper\durationFromIntegers(), ILIAS\MetaData\Services\DataHelper\DataHelper\durationToSeconds(), ILIAS\ResourceStorage\Flavour\Machine\DefaultMachines\from(), ILIAS\MetaData\Services\DataHelper\DataHelper\getAllLanguages(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\testDatetimeFromObject(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testDatetimeToObject(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testDurationFromIntegers(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testDurationToArray(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testDurationToSeconds(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testGetAllLanguages(), ILIAS\MetaData\Services\DataHelper\DataHelperTest\testMakePresentable(), and ILIAS\MetaData\Services\DataHelper\DataHelperTest\testMakePresentableAsList().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testDatetimeFromObject()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testDatetimeFromObject ( )

Definition at line 172 of file DataHelperTest.php.

172 : void
173 {
174 $helper = $this->getDataHelper();
175
176 $this->assertSame(
177 '2013-01-20',
178 $helper->datetimeFromObject(new \DateTimeImmutable('2013-01-20'))
179 );
180 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testDatetimeToObject()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testDatetimeToObject ( )

Definition at line 152 of file DataHelperTest.php.

152 : void
153 {
154 $helper = $this->getDataHelper();
155
156 $this->assertSame(
157 '2013-01-20',
158 $helper->datetimeToObject('2013-01-20')->format('Y-m-d')
159 );
160 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testDurationFromIntegers()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testDurationFromIntegers ( )

Definition at line 162 of file DataHelperTest.php.

162 : void
163 {
164 $helper = $this->getDataHelper();
165
166 $this->assertSame(
167 '89:0::::1',
168 $helper->durationFromIntegers(89, 0, null, null, null, 1)
169 );
170 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testDurationToArray()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testDurationToArray ( )

Definition at line 132 of file DataHelperTest.php.

132 : void
133 {
134 $helper = $this->getDataHelper();
135
136 $this->assertSame(
137 [89, 0, null, null, null, 1],
138 $helper->durationToArray('89:0::::1')
139 );
140 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testDurationToSeconds()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testDurationToSeconds ( )

Definition at line 142 of file DataHelperTest.php.

142 : void
143 {
144 $helper = $this->getDataHelper();
145
146 $this->assertSame(
147 89 + 5 + 1,
148 $helper->durationToSeconds('89:5::::1')
149 );
150 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testGetAllLanguages()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testGetAllLanguages ( )

Definition at line 182 of file DataHelperTest.php.

182 : void
183 {
184 $helper = $this->getDataHelper();
185
186 $languages = $helper->getAllLanguages();
187
188 $this->assertCount(3, $languages);
189 $this->assertSame('lang1', $languages[0]->value());
190 $this->assertSame('translated_lang1', $languages[0]->presentableLabel());
191 $this->assertSame('lang2', $languages[1]->value());
192 $this->assertSame('translated_lang2', $languages[1]->presentableLabel());
193 $this->assertSame('lang3', $languages[2]->value());
194 $this->assertSame('translated_lang3', $languages[2]->presentableLabel());
195 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testMakePresentable()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testMakePresentable ( )

Definition at line 107 of file DataHelperTest.php.

107 : void
108 {
109 $helper = $this->getDataHelper();
110
111 $this->assertSame(
112 'presentable value',
113 $helper->makePresentable($this->getData('value'))
114 );
115 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

◆ testMakePresentableAsList()

ILIAS\MetaData\Services\DataHelper\DataHelperTest::testMakePresentableAsList ( )

Definition at line 117 of file DataHelperTest.php.

117 : void
118 {
119 $helper = $this->getDataHelper();
120
121 $this->assertSame(
122 'presentable value1,? ,.presentable value2,? ,.presentable value3',
123 $helper->makePresentableAsList(
124 ',? ,.',
125 $this->getData('value1'),
126 $this->getData('value2'),
127 $this->getData('value3')
128 )
129 );
130 }

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: