ILIAS  release_8 Revision v8.24
ilBuddySystemRelationCollectionTest Class Reference

Class ilBuddySystemRelationCollectionTest. More...

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

Public Member Functions

 testElementsCanBeInitiallyAdded (array $elements)
 @dataProvider provideElements More...
 
 testElementsCanBeAddedAndRemoved (array $elements)
 @dataProvider provideElements More...
 
 testIterator (array $elements)
 @dataProvider 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 ( )

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)

@dataProvider provideElements

Parameters
array$elements

Definition at line 51 of file ilBuddySystemRelationCollectionTest.php.

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

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

◆ testElementsCanBeFiltered()

ilBuddySystemRelationCollectionTest::testElementsCanBeFiltered ( )

Definition at line 141 of file ilBuddySystemRelationCollectionTest.php.

141 : void
142 {
143 $collection = new ilBuddySystemRelationCollection();
144 $collection->add(1);
145 $collection->add(2);
146 $collection->add(3);
147 $collection->add(4);
148
149 $this->assertSame([3], $collection->slice(2, 1)->getValues());
150 }

◆ testElementsCanBeInitiallyAdded()

ilBuddySystemRelationCollectionTest::testElementsCanBeInitiallyAdded ( array  $elements)

@dataProvider provideElements

Parameters
array$elements

Definition at line 31 of file ilBuddySystemRelationCollectionTest.php.

31 : void
32 {
33 $collection = new ilBuddySystemRelationCollection($elements);
34
35 $this->assertFalse($collection->isEmpty());
36 $this->assertSame($elements, $collection->toArray());
37 $this->assertSame(array_values($elements), $collection->getValues());
38 $this->assertSame(array_keys($elements), $collection->getKeys());
39
40 foreach ($elements as $key => $elm) {
41 $this->assertArrayHasKey($collection->getKey($elm), $elements);
42 $this->assertTrue(isset($collection[$key]));
43 $this->assertEquals($collection[$key], $elm);
44 }
45 }

References ILIAS\LTI\ToolProvider\$key.

◆ testElementsCanBeSliced()

ilBuddySystemRelationCollectionTest::testElementsCanBeSliced ( )

Definition at line 128 of file ilBuddySystemRelationCollectionTest.php.

128 : void
129 {
130 $collection = new ilBuddySystemRelationCollection();
131 $collection->add(1);
132 $collection->add(2);
133 $collection->add(3);
134 $collection->add(4);
135
136 $this->assertCount(2, $collection->filter(function ($elm) {
137 return $elm % 2 === 0;
138 })->toArray());
139 }
static return function(ContainerConfigurator $containerConfigurator)
Definition: basic_rector.php:9

References function.

◆ testIterator()

ilBuddySystemRelationCollectionTest::testIterator ( array  $elements)

@dataProvider provideElements

Parameters
array$elements

Definition at line 103 of file ilBuddySystemRelationCollectionTest.php.

103 : void
104 {
105 $collection = new ilBuddySystemRelationCollection($elements);
106 $iterations = 0;
107 foreach ($collection->getIterator() as $key => $item) {
108 $this->assertSame($elements[$key], $item, "Item $key not match");
109 $iterations++;
110 }
111 $this->assertCount($iterations, $elements, 'Number of iterations not match');
112 }

References ILIAS\LTI\ToolProvider\$key.

◆ testRemovingAnNonExistingElementByKeyRaisesAnException()

ilBuddySystemRelationCollectionTest::testRemovingAnNonExistingElementByKeyRaisesAnException ( )

Definition at line 121 of file ilBuddySystemRelationCollectionTest.php.

121 : void
122 {
123 $this->expectException(InvalidArgumentException::class);
124 $collection = new ilBuddySystemRelationCollection();
125 $collection->remove('phpunit');
126 }

◆ testRemovingAnNonExistingElementRaisesAnException()

ilBuddySystemRelationCollectionTest::testRemovingAnNonExistingElementRaisesAnException ( )

Definition at line 114 of file ilBuddySystemRelationCollectionTest.php.

114 : void
115 {
116 $this->expectException(InvalidArgumentException::class);
117 $collection = new ilBuddySystemRelationCollection();
118 $collection->removeElement(5);
119 }

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