ILIAS  trunk Revision v11.0_alpha-2645-g16283d3b3f8
ilBuddySystemRelationCollectionTestCase Class Reference
+ Inheritance diagram for ilBuddySystemRelationCollectionTestCase:
+ Collaboration diagram for ilBuddySystemRelationCollectionTestCase:

Public Member Functions

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

Static Public Member Functions

static provideElements ()
 

Additional Inherited Members

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

Detailed Description

Definition at line 23 of file ilBuddySystemRelationCollectionTestCase.php.

Member Function Documentation

◆ provideElements()

static ilBuddySystemRelationCollectionTestCase::provideElements ( )
static
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 142 of file ilBuddySystemRelationCollectionTestCase.php.

142  : array
143  {
144  $relation1 = new ilBuddySystemRelation(new ilBuddySystemUnlinkedRelationState(), 1, 2, false, time());
145  $relation2 = new ilBuddySystemRelation(new ilBuddySystemUnlinkedRelationState(), 3, 4, false, time());
146  $relation3 = new ilBuddySystemRelation(new ilBuddySystemUnlinkedRelationState(), 5, 6, false, time());
147  $relation4 = new ilBuddySystemRelation(new ilBuddySystemUnlinkedRelationState(), 7, 8, false, time());
148  $relation5 = new ilBuddySystemRelation(new ilBuddySystemUnlinkedRelationState(), 9, 10, false, time());
149 
150  return [
151  'indexed' => [[0, 1, 2, 3, 4, 5]],
152  'associative' => [['A' => 'a', 'B' => 'b', 'C' => 'c']],
153  'mixed' => [[0, 'A' => 'a', 1, 'B' => 'b', 2, 3]],
154  'relations' => [[$relation1, $relation2, $relation3, $relation4, $relation5]]
155  ];
156  }
Class ilBuddySystemUnlinkedRelationState.

◆ testElementsCanBeAddedAndRemoved()

ilBuddySystemRelationCollectionTestCase::testElementsCanBeAddedAndRemoved ( array  $elements)

Definition at line 43 of file ilBuddySystemRelationCollectionTestCase.php.

References $data.

43  : void
44  {
45  $collection = new ilBuddySystemRelationCollection();
46  $this->assertTrue($collection->isEmpty());
47 
48  foreach ($elements as $elm) {
49  $collection->add($elm);
50  $this->assertTrue($collection->contains($elm));
51  }
52 
53  foreach ($elements as $elm) {
54  $collection->removeElement($elm);
55  $this->assertFalse($collection->contains($elm));
56  }
57 
58  $this->assertTrue($collection->isEmpty());
59 
60  foreach ($elements as $elm) {
61  $collection->add($elm);
62  $this->assertTrue($collection->contains($elm));
63  }
64 
65  foreach ($elements as $elm) {
66  $key = $collection->getKey($elm);
67  $collection->remove($key);
68  $this->assertFalse($collection->contains($elm));
69  }
70 
71  $this->assertTrue($collection->isEmpty());
72 
73  foreach ($elements as $key => $elm) {
74  $collection[$key] = $elm;
75  $this->assertTrue($collection->contains($elm));
76  }
77 
78  foreach ($elements as $key => $elm) {
79  unset($collection[$key]);
80  $this->assertFalse($collection->contains($elm));
81  }
82 
83  $this->assertTrue($collection->isEmpty());
84 
85  $collection[] = 5;
86 
87  $data = $collection->toArray();
88  $this->assertSame(5, reset($data));
89  }

◆ testElementsCanBeFiltered()

ilBuddySystemRelationCollectionTestCase::testElementsCanBeFiltered ( )

Definition at line 128 of file ilBuddySystemRelationCollectionTestCase.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->assertSame([3], $collection->slice(2, 1)->getValues());
137  }

◆ testElementsCanBeInitiallyAdded()

ilBuddySystemRelationCollectionTestCase::testElementsCanBeInitiallyAdded ( array  $elements)

Definition at line 26 of file ilBuddySystemRelationCollectionTestCase.php.

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

◆ testElementsCanBeSliced()

ilBuddySystemRelationCollectionTestCase::testElementsCanBeSliced ( )

Definition at line 117 of file ilBuddySystemRelationCollectionTestCase.php.

117  : void
118  {
119  $collection = new ilBuddySystemRelationCollection();
120  $collection->add(1);
121  $collection->add(2);
122  $collection->add(3);
123  $collection->add(4);
124 
125  $this->assertCount(2, $collection->filter(fn(int $elm): bool => $elm % 2 === 0)->toArray());
126  }

◆ testIterator()

ilBuddySystemRelationCollectionTestCase::testIterator ( array  $elements)

Definition at line 92 of file ilBuddySystemRelationCollectionTestCase.php.

92  : void
93  {
94  $collection = new ilBuddySystemRelationCollection($elements);
95  $iterations = 0;
96  foreach ($collection as $key => $item) {
97  $this->assertSame($elements[$key], $item, "Item $key not match");
98  $iterations++;
99  }
100  $this->assertCount($iterations, $elements, 'Number of iterations not match');
101  }

◆ testRemovingAnNonExistingElementByKeyRaisesAnException()

ilBuddySystemRelationCollectionTestCase::testRemovingAnNonExistingElementByKeyRaisesAnException ( )

Definition at line 110 of file ilBuddySystemRelationCollectionTestCase.php.

110  : void
111  {
112  $this->expectException(InvalidArgumentException::class);
113  $collection = new ilBuddySystemRelationCollection();
114  $collection->remove('phpunit');
115  }

◆ testRemovingAnNonExistingElementRaisesAnException()

ilBuddySystemRelationCollectionTestCase::testRemovingAnNonExistingElementRaisesAnException ( )

Definition at line 103 of file ilBuddySystemRelationCollectionTestCase.php.

103  : void
104  {
105  $this->expectException(InvalidArgumentException::class);
106  $collection = new ilBuddySystemRelationCollection();
107  $collection->removeElement(5);
108  }

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