ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
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.

References $c.

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

◆ testGetAgent()

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

Definition at line 254 of file AgentCollectionTest.php.

References $c.

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  }
$c
Definition: cli.php:37

◆ testGetArrayToConfigTransformation()

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

Definition at line 45 of file AgentCollectionTest.php.

References $c.

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  }
$c
Definition: cli.php:37

◆ 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.

References $c, and $res.

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  }
$c
Definition: cli.php:37
foreach($_POST as $key=> $value) $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: