ILIAS  release_7 Revision v7.30-3-g800a261c036
ILIAS\Tests\Setup\AgentCollectionTest Class Reference
+ Inheritance diagram for ILIAS\Tests\Setup\AgentCollectionTest:
+ Collaboration diagram for ILIAS\Tests\Setup\AgentCollectionTest:

Public Member Functions

 testHasConfig ()
 
 testGetArrayToConfigTransformation ()
 
 testArrayToConfigTransformationAllowsUnsetFields ()
 
 testGetInstallObjective ()
 
 testGetUpdateObjective ()
 
 testGetCollectMetricsObjective ()
 
 testGetAgent ()
 
 testWithRemovedAgent ()
 
 testWithAdditionalAgent ()
 
 testGetNamedObjective ()
 

Detailed Description

Definition at line 14 of file AgentCollectionTest.php.

Member Function Documentation

◆ testArrayToConfigTransformationAllowsUnsetFields()

ILIAS\Tests\Setup\AgentCollectionTest::testArrayToConfigTransformationAllowsUnsetFields ( )

Definition at line 97 of file AgentCollectionTest.php.

97 : void
98 {
99 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
100
101 $c1 = $this->newAgent();
102 $c2 = $this->newAgent();
103 $c3 = $this->newAgent();
104
105 $conf1 = $this->newConfig();
106 $conf3 = $this->newConfig();
107
108 foreach ([$c1,$c3] as $c) {
109 $c
110 ->method("hasConfig")
111 ->willReturn(true);
112 }
113 $c2
114 ->method("hasConfig")
115 ->willReturn(false);
116
117 $arr = ["c1" => ["c1_data"]];
118
119 $c1
120 ->expects($this->once())
121 ->method("getArrayToConfigTransformation")
122 ->with()
123 ->willReturn($refinery->custom()->transformation(function ($v) use ($conf1) {
124 $this->assertEquals($v, ["c1_data"]);
125 return $conf1;
126 }));
127 $c2
128 ->expects($this->never())
129 ->method("getArrayToConfigTransformation");
130 $c3
131 ->expects($this->once())
132 ->method("getArrayToConfigTransformation")
133 ->with()
134 ->willReturn($refinery->custom()->transformation(function ($v) use ($conf3) {
135 $this->assertEquals($v, null);
136 return $conf3;
137 }));
138
139 $col = new Setup\AgentCollection($refinery, ["c1" => $c1,"c2" => $c2,"c3" => $c3]);
140 $trafo = $col->getArrayToConfigTransformation();
141 $conf = $trafo($arr);
142
143 $this->assertInstanceOf(Setup\ConfigCollection::class, $conf);
144 $this->assertEquals(["c1", "c3"], $conf->getKeys());
145 $this->assertEquals($conf1, $conf->getConfig("c1"));
146 $this->assertEquals($conf3, $conf->getConfig("c3"));
147 }
$c
Definition: cli.php:37

References $c.

◆ testGetAgent()

ILIAS\Tests\Setup\AgentCollectionTest::testGetAgent ( )

Definition at line 254 of file AgentCollectionTest.php.

255 {
256 $refinery = $this->createMock(Refinery::class);
257
258 $c1 = $this->newAgent();
259 $c2 = $this->newAgent();
260 $c3 = $this->newAgent();
261 $c4 = $this->newAgent();
262
263 $c = new Setup\AgentCollection(
264 $refinery,
265 ["c1" => $c1, "c2" => $c2, "c3" => $c3, "c4" => $c4]
266 );
267
268 $this->assertSame($c1, $c->getAgent("c1"));
269 $this->assertSame($c2, $c->getAgent("c2"));
270 $this->assertSame($c3, $c->getAgent("c3"));
271 $this->assertSame($c4, $c->getAgent("c4"));
272 $this->assertNull($c->getAgent("c5"));
273 }

References $c.

◆ testGetArrayToConfigTransformation()

ILIAS\Tests\Setup\AgentCollectionTest::testGetArrayToConfigTransformation ( )

Definition at line 45 of file AgentCollectionTest.php.

45 : void
46 {
47 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
48
49 $c1 = $this->newAgent();
50 $c2 = $this->newAgent();
51 $c3 = $this->newAgent();
52
53 $conf1 = $this->newConfig();
54 $conf3 = $this->newConfig();
55
56 foreach ([$c1,$c3] as $c) {
57 $c
58 ->method("hasConfig")
59 ->willReturn(true);
60 }
61 $c2
62 ->method("hasConfig")
63 ->willReturn(false);
64
65 $arr = ["c1" => ["c1_data"], "c3" => ["c3_data"]];
66
67 $c1
68 ->expects($this->once())
69 ->method("getArrayToConfigTransformation")
70 ->with()
71 ->willReturn($refinery->custom()->transformation(function ($v) use ($conf1) {
72 $this->assertEquals($v, ["c1_data"]);
73 return $conf1;
74 }));
75 $c2
76 ->expects($this->never())
77 ->method("getArrayToConfigTransformation");
78 $c3
79 ->expects($this->once())
80 ->method("getArrayToConfigTransformation")
81 ->with()
82 ->willReturn($refinery->custom()->transformation(function ($v) use ($conf3) {
83 $this->assertEquals($v, ["c3_data"]);
84 return $conf3;
85 }));
86
87 $col = new Setup\AgentCollection($refinery, ["c1" => $c1,"c2" => $c2,"c3" => $c3]);
88 $trafo = $col->getArrayToConfigTransformation();
89 $conf = $trafo($arr);
90
91 $this->assertInstanceOf(Setup\ConfigCollection::class, $conf);
92 $this->assertEquals(["c1", "c3"], $conf->getKeys());
93 $this->assertEquals($conf1, $conf->getConfig("c1"));
94 $this->assertEquals($conf3, $conf->getConfig("c3"));
95 }

References $c.

◆ testGetCollectMetricsObjective()

ILIAS\Tests\Setup\AgentCollectionTest::testGetCollectMetricsObjective ( )

Definition at line 222 of file AgentCollectionTest.php.

222 : void
223 {
224 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
225
226 $c1 = $this->newAgent();
227 $c2 = $this->newAgent();
228
229 $g1 = $this->newObjective();
230 $g2 = $this->newObjective();
231
232 $conf1 = $this->newConfig();
233
234 $c1
235 ->expects($this->once())
236 ->method("getUpdateObjective")
237 ->with($conf1)
238 ->willReturn($g1);
239 $c2
240 ->expects($this->once())
241 ->method("getUpdateObjective")
242 ->with()
243 ->willReturn($g2);
244
245 $col = new Setup\AgentCollection($refinery, ["c1" => $c1,"c2" => $c2]);
246 $conf = new Setup\ConfigCollection(["c1" => $conf1]);
247
248 $g = $col->getUpdateObjective($conf);
249
250 $this->assertInstanceOf(Setup\ObjectiveCollection::class, $g);
251 $this->assertEquals([$g1, $g2], $g->getObjectives());
252 }

◆ testGetInstallObjective()

ILIAS\Tests\Setup\AgentCollectionTest::testGetInstallObjective ( )

Definition at line 149 of file AgentCollectionTest.php.

149 : void
150 {
151 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
152
153 $c1 = $this->newAgent();
154 $c2 = $this->newAgent();
155
156 $g1 = $this->newObjective();
157 $g2 = $this->newObjective();
158
159 $conf1 = $this->newConfig();
160
161 $c1
162 ->expects($this->once())
163 ->method("hasConfig")
164 ->willReturn(true);
165 $c2
166 ->expects($this->once())
167 ->method("hasConfig")
168 ->willReturn(false);
169
170 $c1
171 ->expects($this->once())
172 ->method("getInstallObjective")
173 ->with($conf1)
174 ->willReturn($g1);
175 $c2
176 ->expects($this->once())
177 ->method("getInstallObjective")
178 ->with()
179 ->willReturn($g2);
180
181 $col = new Setup\AgentCollection($refinery, ["c1" => $c1,"c2" => $c2]);
182 $conf = new Setup\ConfigCollection(["c1" => $conf1]);
183
184 $g = $col->getInstallObjective($conf);
185
186 $this->assertInstanceOf(Setup\ObjectiveCollection::class, $g);
187 $this->assertEquals([$g1, $g2], $g->getObjectives());
188 }

◆ testGetNamedObjective()

ILIAS\Tests\Setup\AgentCollectionTest::testGetNamedObjective ( )

Definition at line 335 of file AgentCollectionTest.php.

335 : void
336 {
337 $refinery = $this->createMock(Refinery::class);
338
339 $o = $this->newObjective();
340 $c1 = $this->newAgent();
341 $c2 = $this->newAgent();
342 $conf2 = $this->newConfig();
343
344 $conf = new Setup\ConfigCollection(
345 ["sub" => new Setup\ConfigCollection(
346 [ "c2" => $conf2 ]
347 )]
348 );
349
350 $c = new Setup\AgentCollection(
351 $refinery,
352 [ "sub" => new Setup\AgentCollection(
353 $refinery,
354 ["c1" => $c1, "c2" => $c2]
355 )]
356 );
357
358 $c2->expects($this->once())
359 ->method("getNamedObjective")
360 ->with("the_objective", $conf2)
361 ->willReturn($o);
362
363 $res = $c->getNamedObjective("sub.c2.the_objective", $conf);
364 $this->assertSame($o, $res);
365 }
foreach($_POST as $key=> $value) $res

References $c, and $res.

◆ testGetUpdateObjective()

ILIAS\Tests\Setup\AgentCollectionTest::testGetUpdateObjective ( )

Definition at line 190 of file AgentCollectionTest.php.

190 : void
191 {
192 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
193 $storage = $this->createMock(Setup\Metrics\Storage::class);
194
195 $c1 = $this->newAgent();
196 $c2 = $this->newAgent();
197
198 $g1 = $this->newObjective();
199 $g2 = $this->newObjective();
200
201 $s1 = new Setup\Metrics\StorageOnPathWrapper("c1", $storage);
202 $s2 = new Setup\Metrics\StorageOnPathWrapper("c2", $storage);
203
204 $c1
205 ->expects($this->once())
206 ->method("getStatusObjective")
207 ->with($s1)
208 ->willReturn($g1);
209 $c2
210 ->expects($this->once())
211 ->method("getStatusObjective")
212 ->with($s2)
213 ->willReturn($g2);
214
215 $col = new Setup\AgentCollection($refinery, ["c1" => $c1,"c2" => $c2]);
216 $g = $col->getStatusObjective($storage);
217
218 $this->assertInstanceOf(Setup\ObjectiveCollection::class, $g);
219 $this->assertEquals([$g1, $g2], $g->getObjectives());
220 }

◆ testHasConfig()

ILIAS\Tests\Setup\AgentCollectionTest::testHasConfig ( )

Definition at line 18 of file AgentCollectionTest.php.

18 : void
19 {
20 $refinery = new Refinery($this->createMock(DataFactory::class), $this->createMock(\ilLanguage::class));
21
22 $c1 = $this->newAgent();
23 $c2 = $this->newAgent();
24 $c3 = $this->newAgent();
25 $c4 = $this->newAgent();
26
27 $c1->method("hasConfig")->willReturn(true);
28 $c2->method("hasConfig")->willReturn(true);
29 $c3->method("hasConfig")->willReturn(false);
30 $c4->method("hasConfig")->willReturn(false);
31
32 $col1 = new Setup\AgentCollection($refinery, ["c1" => $c1]);
33 $col2 = new Setup\AgentCollection($refinery, ["c1" => $c1, "c2" => $c2]);
34 $col3 = new Setup\AgentCollection($refinery, ["c1" => $c1, "c3" => $c3]);
35 $col4 = new Setup\AgentCollection($refinery, ["c3" => $c3]);
36 $col5 = new Setup\AgentCollection($refinery, ["c3" => $c3, "c4" => $c4]);
37
38 $this->assertTrue($col1->hasConfig());
39 $this->assertTrue($col2->hasConfig());
40 $this->assertTrue($col3->hasConfig());
41 $this->assertFalse($col4->hasConfig());
42 $this->assertFalse($col5->hasConfig());
43 }

◆ testWithAdditionalAgent()

ILIAS\Tests\Setup\AgentCollectionTest::testWithAdditionalAgent ( )

Definition at line 305 of file AgentCollectionTest.php.

306 {
307 $refinery = $this->createMock(Refinery::class);
308
309 $c1 = $this->newAgent();
310 $c2 = $this->newAgent();
311 $c3 = $this->newAgent();
312 $c4 = $this->newAgent();
313
314 $ca = new Setup\AgentCollection(
315 $refinery,
316 ["c1" => $c1, "c2" => $c2, "c3" => $c3]
317 );
318 $cb = $ca->withAdditionalAgent("c4", $c4);
319
320 $this->assertNotSame($ca, $cb);
321
322 $this->assertSame($c1, $ca->getAgent("c1"));
323 $this->assertSame($c2, $ca->getAgent("c2"));
324 $this->assertSame($c3, $ca->getAgent("c3"));
325 $this->assertNull($ca->getAgent("c4"));
326 $this->assertNull($ca->getAgent("c5"));
327
328 $this->assertSame($c1, $cb->getAgent("c1"));
329 $this->assertSame($c2, $cb->getAgent("c2"));
330 $this->assertSame($c3, $cb->getAgent("c3"));
331 $this->assertSame($c4, $cb->getAgent("c4"));
332 $this->assertNull($cb->getAgent("c5"));
333 }

◆ testWithRemovedAgent()

ILIAS\Tests\Setup\AgentCollectionTest::testWithRemovedAgent ( )

Definition at line 275 of file AgentCollectionTest.php.

276 {
277 $refinery = $this->createMock(Refinery::class);
278
279 $c1 = $this->newAgent();
280 $c2 = $this->newAgent();
281 $c3 = $this->newAgent();
282 $c4 = $this->newAgent();
283
284 $ca = new Setup\AgentCollection(
285 $refinery,
286 ["c1" => $c1, "c2" => $c2, "c3" => $c3, "c4" => $c4]
287 );
288 $cb = $ca->withRemovedAgent("c2");
289
290 $this->assertNotSame($ca, $cb);
291
292 $this->assertSame($c1, $ca->getAgent("c1"));
293 $this->assertSame($c2, $ca->getAgent("c2"));
294 $this->assertSame($c3, $ca->getAgent("c3"));
295 $this->assertSame($c4, $ca->getAgent("c4"));
296 $this->assertNull($ca->getAgent("c5"));
297
298 $this->assertSame($c1, $cb->getAgent("c1"));
299 $this->assertNull($cb->getAgent("c2"));
300 $this->assertSame($c3, $cb->getAgent("c3"));
301 $this->assertSame($c4, $cb->getAgent("c4"));
302 $this->assertNull($cb->getAgent("c5"));
303 }

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