19 declare(strict_types=1);
40 $this->k = $this->createMock(DValue::class);
41 $this->v = $this->createMock(Description::class);
43 $this->createMock(\
ILIAS\
Data\Text\SimpleDocumentMarkdown::class),
54 $res = $this->m->getPrimitiveRepresentation(
$data);
56 $this->assertInstanceOf(\Closure::class,
$res);
57 $errors = iterator_to_array(
$res());
58 $this->assertCount(1, $errors);
59 $this->assertTrue(is_string($errors[0]));
65 [1], [
"1"], [
null], [
true], [new \StdClass()], [new \DateTimeImmutable()]
71 $res = $this->m->getPrimitiveRepresentation([]);
73 $this->assertEquals([],
$res);
84 $this->k->expects($this->exactly(2))
85 ->method(
"getPrimitiveRepresentation")
86 ->willReturnCallback(
function ($v) use (&$keys) {
87 array_push($keys, $v);
88 return array_shift($keys);
92 $this->v->expects($this->exactly(2))
93 ->method(
"getPrimitiveRepresentation")
94 ->willReturnCallback(
function ($v) use (&$values) {
95 array_push($values, $v);
96 return array_shift($values);
104 $res = $this->m->getPrimitiveRepresentation(
$data);
106 $this->assertEquals($expected,
$res);
107 $this->assertEquals([
"a",
"b"], $keys);
108 $this->assertEquals([1, 2], $values);
116 ->method(
"getPrimitiveRepresentation")
120 ->method(
"getPrimitiveRepresentation")
121 ->willReturn(fn() => yield
"FAILURE");
123 $res = $this->m->getPrimitiveRepresentation(
$data);
125 $this->assertInstanceOf(\Closure::class,
$res);
126 $errors = iterator_to_array(
$res());
127 $this->assertCount(1, $errors);
128 $this->assertTrue(is_string($errors[0]));
129 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
137 ->method(
"getPrimitiveRepresentation")
138 ->willReturn(fn() => yield
"FAILURE");
141 ->method(
"getPrimitiveRepresentation")
144 $res = $this->m->getPrimitiveRepresentation(
$data);
146 $this->assertInstanceOf(\Closure::class,
$res);
147 $errors = iterator_to_array(
$res());
148 $this->assertCount(1, $errors);
149 $this->assertTrue(is_string($errors[0]));
150 $this->assertTrue(str_contains($errors[0],
"FAILURE"));
testForwardsToSubDescriptions()
testFailsOnValueFailure()
Interface Observer Contains several chained tasks and infos about them.
static obviousNoMatchProvider()
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This describes some datastructure in terms of standard data structures such as primitives, lists, maps and objects and helpful (hopefully...) human readable texts.
testObviouslyNotMatching($data)
obviousNoMatchProvider