ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilBuddySystemRelationCollectionTest Class Reference

Class ilBuddySystemRelationCollectionTest. More...

+ Inheritance diagram for ilBuddySystemRelationCollectionTest:
+ Collaboration diagram for ilBuddySystemRelationCollectionTest:

Public Member Functions

 testElementsCanBeInitiallyAdded (array $elements)
 provideElements More...
 
 testElementsCanBeAddedAndRemoved (array $elements)
 provideElements More...
 
 testIterator (array $elements)
 provideElements More...
 
 testRemovingAnNonExistingElementRaisesAnException ()
 
 testRemovingAnNonExistingElementByKeyRaisesAnException ()
 
 testElementsCanBeSliced ()
 
 testElementsCanBeFiltered ()
 
 provideElements ()
 

Additional Inherited Members

- Protected Member Functions inherited from ilBuddySystemBaseTest
 setUp ()
 
 tearDown ()
 
 setGlobalVariable (string $name, $value)
 

Detailed Description

Member Function Documentation

◆ provideElements()

ilBuddySystemRelationCollectionTest::provideElements ( )
Returns
array{indexed: int[][], associative: array<int, array{A: string, B: string, C: string}>, mixed: array<int, array<int|string, int|string>>, relations: &[][]}

Definition at line 152 of file ilBuddySystemRelationCollectionTest.php.

152  : array
153  {
154  $relation1 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
155  $relation2 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
156  $relation3 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
157  $relation4 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
158  $relation5 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
159 
160  return [
161  'indexed' => [[0, 1, 2, 3, 4, 5]],
162  'associative' => [['A' => 'a', 'B' => 'b', 'C' => 'c']],
163  'mixed' => [[0, 'A' => 'a', 1, 'B' => 'b', 2, 3]],
164  'relations' => [[$relation1, $relation2, $relation3, $relation4, $relation5]]
165  ];
166  }

◆ testElementsCanBeAddedAndRemoved()

ilBuddySystemRelationCollectionTest::testElementsCanBeAddedAndRemoved ( array  $elements)

provideElements

Definition at line 49 of file ilBuddySystemRelationCollectionTest.php.

References $data, and ILIAS\LTI\ToolProvider\$key.

49  : void
50  {
51  $collection = new ilBuddySystemRelationCollection();
52  $this->assertTrue($collection->isEmpty());
53 
54  foreach ($elements as $elm) {
55  $collection->add($elm);
56  $this->assertTrue($collection->contains($elm));
57  }
58 
59  foreach ($elements as $elm) {
60  $collection->removeElement($elm);
61  $this->assertFalse($collection->contains($elm));
62  }
63 
64  $this->assertTrue($collection->isEmpty());
65 
66  foreach ($elements as $elm) {
67  $collection->add($elm);
68  $this->assertTrue($collection->contains($elm));
69  }
70 
71  foreach ($elements as $elm) {
72  $key = $collection->getKey($elm);
73  $collection->remove($key);
74  $this->assertFalse($collection->contains($elm));
75  }
76 
77  $this->assertTrue($collection->isEmpty());
78 
79  foreach ($elements as $key => $elm) {
80  $collection[$key] = $elm;
81  $this->assertTrue($collection->contains($elm));
82  }
83 
84  foreach ($elements as $key => $elm) {
85  unset($collection[$key]);
86  $this->assertFalse($collection->contains($elm));
87  }
88 
89  $this->assertTrue($collection->isEmpty());
90 
91  $collection[] = 5;
92 
93  $data = $collection->toArray();
94  $this->assertSame(5, reset($data));
95  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...
string $key
Consumer key/client ID value.
Definition: System.php:193

◆ testElementsCanBeFiltered()

ilBuddySystemRelationCollectionTest::testElementsCanBeFiltered ( )

Definition at line 138 of file ilBuddySystemRelationCollectionTest.php.

138  : void
139  {
140  $collection = new ilBuddySystemRelationCollection();
141  $collection->add(1);
142  $collection->add(2);
143  $collection->add(3);
144  $collection->add(4);
145 
146  $this->assertSame([3], $collection->slice(2, 1)->getValues());
147  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...

◆ testElementsCanBeInitiallyAdded()

ilBuddySystemRelationCollectionTest::testElementsCanBeInitiallyAdded ( array  $elements)

provideElements

Definition at line 30 of file ilBuddySystemRelationCollectionTest.php.

References ILIAS\LTI\ToolProvider\$key.

30  : void
31  {
32  $collection = new ilBuddySystemRelationCollection($elements);
33 
34  $this->assertFalse($collection->isEmpty());
35  $this->assertSame($elements, $collection->toArray());
36  $this->assertSame(array_values($elements), $collection->getValues());
37  $this->assertSame(array_keys($elements), $collection->getKeys());
38 
39  foreach ($elements as $key => $elm) {
40  $this->assertArrayHasKey($collection->getKey($elm), $elements);
41  $this->assertTrue(isset($collection[$key]));
42  $this->assertEquals($collection[$key], $elm);
43  }
44  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...
string $key
Consumer key/client ID value.
Definition: System.php:193

◆ testElementsCanBeSliced()

ilBuddySystemRelationCollectionTest::testElementsCanBeSliced ( )

Definition at line 125 of file ilBuddySystemRelationCollectionTest.php.

125  : void
126  {
127  $collection = new ilBuddySystemRelationCollection();
128  $collection->add(1);
129  $collection->add(2);
130  $collection->add(3);
131  $collection->add(4);
132 
133  $this->assertCount(2, $collection->filter(function ($elm): bool {
134  return $elm % 2 === 0;
135  })->toArray());
136  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...

◆ testIterator()

ilBuddySystemRelationCollectionTest::testIterator ( array  $elements)

provideElements

Definition at line 100 of file ilBuddySystemRelationCollectionTest.php.

References ILIAS\LTI\ToolProvider\$key.

100  : void
101  {
102  $collection = new ilBuddySystemRelationCollection($elements);
103  $iterations = 0;
104  foreach ($collection->getIterator() as $key => $item) {
105  $this->assertSame($elements[$key], $item, "Item $key not match");
106  $iterations++;
107  }
108  $this->assertCount($iterations, $elements, 'Number of iterations not match');
109  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...
string $key
Consumer key/client ID value.
Definition: System.php:193

◆ testRemovingAnNonExistingElementByKeyRaisesAnException()

ilBuddySystemRelationCollectionTest::testRemovingAnNonExistingElementByKeyRaisesAnException ( )

Definition at line 118 of file ilBuddySystemRelationCollectionTest.php.

118  : void
119  {
120  $this->expectException(InvalidArgumentException::class);
121  $collection = new ilBuddySystemRelationCollection();
122  $collection->remove('phpunit');
123  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...

◆ testRemovingAnNonExistingElementRaisesAnException()

ilBuddySystemRelationCollectionTest::testRemovingAnNonExistingElementRaisesAnException ( )

Definition at line 111 of file ilBuddySystemRelationCollectionTest.php.

111  : void
112  {
113  $this->expectException(InvalidArgumentException::class);
114  $collection = new ilBuddySystemRelationCollection();
115  $collection->removeElement(5);
116  }
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...

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