19 declare(strict_types=1);
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());
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);
54 $this->assertTrue($collection->isEmpty());
56 foreach ($elements as $elm) {
57 $collection->add($elm);
58 $this->assertTrue($collection->contains($elm));
61 foreach ($elements as $elm) {
62 $collection->removeElement($elm);
63 $this->assertFalse($collection->contains($elm));
66 $this->assertTrue($collection->isEmpty());
68 foreach ($elements as $elm) {
69 $collection->add($elm);
70 $this->assertTrue($collection->contains($elm));
73 foreach ($elements as $elm) {
74 $key = $collection->getKey($elm);
75 $collection->remove(
$key);
76 $this->assertFalse($collection->contains($elm));
79 $this->assertTrue($collection->isEmpty());
81 foreach ($elements as
$key => $elm) {
82 $collection[
$key] = $elm;
83 $this->assertTrue($collection->contains($elm));
86 foreach ($elements as
$key => $elm) {
87 unset($collection[
$key]);
88 $this->assertFalse($collection->contains($elm));
91 $this->assertTrue($collection->isEmpty());
95 $data = $collection->toArray();
96 $this->assertSame(5, reset(
$data));
107 foreach ($collection->getIterator() as
$key => $item) {
108 $this->assertSame($elements[$key], $item,
"Item $key not match");
111 $this->assertCount($iterations, $elements,
'Number of iterations not match');
116 $this->expectException(InvalidArgumentException::class);
118 $collection->removeElement(5);
123 $this->expectException(InvalidArgumentException::class);
125 $collection->remove(
'phpunit');
136 $this->assertCount(2, $collection->filter(
function ($elm) {
137 return $elm % 2 === 0;
149 $this->assertSame([3], $collection->slice(2, 1)->getValues());
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();
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]]
testRemovingAnNonExistingElementByKeyRaisesAnException()
Class ilBuddySystemRelationCollectionTest.
testElementsCanBeAddedAndRemoved(array $elements)
provideElements
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...
testElementsCanBeInitiallyAdded(array $elements)
provideElements
testElementsCanBeSliced()
testElementsCanBeFiltered()
testRemovingAnNonExistingElementRaisesAnException()
testIterator(array $elements)
provideElements