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(
function ($elm): 
bool {
   134             return $elm % 2 === 0;
   146         $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