19 declare(strict_types=1);
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());
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);
52 $this->assertTrue($collection->isEmpty());
54 foreach ($elements as $elm) {
55 $collection->add($elm);
56 $this->assertTrue($collection->contains($elm));
59 foreach ($elements as $elm) {
60 $collection->removeElement($elm);
61 $this->assertFalse($collection->contains($elm));
64 $this->assertTrue($collection->isEmpty());
66 foreach ($elements as $elm) {
67 $collection->add($elm);
68 $this->assertTrue($collection->contains($elm));
71 foreach ($elements as $elm) {
72 $key = $collection->getKey($elm);
73 $collection->remove($key);
74 $this->assertFalse($collection->contains($elm));
77 $this->assertTrue($collection->isEmpty());
79 foreach ($elements as $key => $elm) {
80 $collection[$key] = $elm;
81 $this->assertTrue($collection->contains($elm));
84 foreach ($elements as $key => $elm) {
85 unset($collection[$key]);
86 $this->assertFalse($collection->contains($elm));
89 $this->assertTrue($collection->isEmpty());
93 $data = $collection->toArray();
94 $this->assertSame(5, reset(
$data));
104 foreach ($collection->getIterator() as $key => $item) {
105 $this->assertSame($elements[$key], $item,
"Item $key not match");
108 $this->assertCount($iterations, $elements,
'Number of iterations not match');
113 $this->expectException(InvalidArgumentException::class);
115 $collection->removeElement(5);
120 $this->expectException(InvalidArgumentException::class);
122 $collection->remove(
'phpunit');
133 $this->assertCount(2, $collection->filter(fn(
int $elm):
bool => $elm % 2 === 0)->toArray());
144 $this->assertSame([3], $collection->slice(2, 1)->getValues());
152 $relation1 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
153 $relation2 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
154 $relation3 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
155 $relation4 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
156 $relation5 = $this->getMockBuilder(ilBuddySystemRelation::class)->disableOriginalConstructor()->getMock();
159 'indexed' => [[0, 1, 2, 3, 4, 5]],
160 'associative' => [[
'A' =>
'a',
'B' =>
'b',
'C' =>
'c']],
161 'mixed' => [[0,
'A' =>
'a', 1,
'B' =>
'b', 2, 3]],
162 'relations' => [[$relation1, $relation2, $relation3, $relation4, $relation5]]
testElementsCanBeSliced()
testElementsCanBeAddedAndRemoved(array $elements)
provideElements
testElementsCanBeFiltered()
testElementsCanBeInitiallyAdded(array $elements)
provideElements
testRemovingAnNonExistingElementRaisesAnException()
Class ilBuddySystemRelationCollection A collection which contains all entries of a buddy list...
testIterator(array $elements)
provideElements
testRemovingAnNonExistingElementByKeyRaisesAnException()
Class ilBuddySystemRelationCollectionTest.