ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

Referenced by ILIAS\MetaData\Services\DataHelper\DataHelperTest\testMakePresentableAsList().

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
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDataHelper()

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

Definition at line 45 of file DataHelperTest.php.

References $data, ILIAS\MetaData\Services\DataHelper\DataHelper\$data_presentation, $datetime, $duration, ILIAS\MetaData\Services\DataHelper\DataHelper\$internal_helper, $r, 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(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and null.

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().

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
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
durationToSeconds(string $duration)
Translates strings in the LOM-internal duration format to seconds.
Definition: DataHelper.php:66
datetimeFromObject(\DateTimeImmutable $object)
Translates datetime objects to strings in the LOM-internal datetime format.
Definition: DataHelper.php:94
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
language()
description: > Example for rendring a language glyph.
Definition: language.php:41
$r
+ 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.

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

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  }
+ Here is the call graph for this function:

◆ testDatetimeToObject()

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

Definition at line 152 of file DataHelperTest.php.

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

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  }
+ Here is the call graph for this function:

◆ testDurationFromIntegers()

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

Definition at line 162 of file DataHelperTest.php.

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper(), and null.

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ testDurationToArray()

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

Definition at line 132 of file DataHelperTest.php.

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper(), and null.

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ testDurationToSeconds()

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

Definition at line 142 of file DataHelperTest.php.

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

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

◆ testGetAllLanguages()

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

Definition at line 182 of file DataHelperTest.php.

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

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  }
+ Here is the call graph for this function:

◆ testMakePresentable()

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

Definition at line 107 of file DataHelperTest.php.

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

107  : void
108  {
109  $helper = $this->getDataHelper();
110 
111  $this->assertSame(
112  'presentable value',
113  $helper->makePresentable($this->getData('value'))
114  );
115  }
+ Here is the call graph for this function:

◆ testMakePresentableAsList()

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

Definition at line 117 of file DataHelperTest.php.

References ILIAS\MetaData\Services\DataHelper\DataHelperTest\getData(), and ILIAS\MetaData\Services\DataHelper\DataHelperTest\getDataHelper().

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  }
+ Here is the call graph for this function:

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