Example #1
0
 /**
  * test add, modify and delete elements from collection
  *
  * @param Collection $collection
  * @dataProvider exampleCollectionObject
  * @requires exampleCollection
  */
 public function testElementCRUD($collection)
 {
     $collection->addElement('some new element');
     $this->assertEquals(10, $collection->count());
     $this->assertEquals('some new element', $collection->get(9));
     $collection->delete(3);
     $this->assertEquals(9, $collection->count());
     $this->assertEquals('some new element', $collection->get(8));
     $collection->addElement('some new element 2');
     $this->assertEquals('some new element 2', $collection->get(9));
     $collection->changeElement(0, 'changed lorem ipsum');
     $this->assertEquals('changed lorem ipsum', $collection->getElement(0));
     $collection->changeElement(7, 'new data', function ($index, $newData, $collection) {
         /** @var Collection $collection*/
         $object = $collection->getElement($index);
         $object->setNewData($newData);
         return $object;
     });
     $this->assertEquals('new data', $collection->getElement(7)->getNewData());
 }