public function setUp()
 {
     parent::setUp();
     $this->artisan('migrate', ['--database' => 'testbench', '--path' => '../tests/migrations']);
     for ($i = 1; $i <= 30; ++$i) {
         $entities[$i] = new SortableEntity();
         $entities[$i]->save();
     }
     $entity = new M2mEntity();
     $entity->save();
     $relatedEntities = [];
     for ($i = 1; $i <= 30; ++$i) {
         $relatedEntity = new M2mRelatedEntity();
         $entity->relatedEntities()->save($relatedEntity);
         $relatedEntities[$i] = $relatedEntity;
     }
     $entity = new M2mEntity();
     $entity->save();
     $relatedEntities = [];
     for ($i = 1; $i <= 30; ++$i) {
         $relatedEntity = new M2mRelatedEntity();
         $entity->relatedEntities()->save($relatedEntity);
         $relatedEntities[$i] = $relatedEntity;
     }
 }
 /**
  * @param
  * @param
  * @param
  * @dataProvider allProvider
  */
 public function testMoveBeforeOtherRelatedNotChanged($entityId, $relativeEntityId, $countTotal)
 {
     $entity = new M2mEntity();
     $entity->save();
     $relatedEntities = [];
     $otherEntity = new M2mEntity();
     $otherEntity->save();
     $otherRelatedEntities = [];
     for ($i = 1; $i <= $countTotal; ++$i) {
         $relatedEntity = new M2mRelatedEntity();
         $entity->relatedEntities()->save($relatedEntity);
         $relatedEntities[$i] = $relatedEntity;
         $otherRelatedEntity = new M2mRelatedEntity();
         $otherEntity->relatedEntities()->save($otherRelatedEntity);
         $otherRelatedEntities[$i] = $otherRelatedEntity;
     }
     $moveEntity = $entity->relatedEntities()->find($relatedEntities[$entityId]->id);
     $relyEntity = $entity->relatedEntities()->find($relatedEntities[$relativeEntityId]->id);
     $entity->relatedEntities()->moveBefore($moveEntity, $relyEntity);
     for ($id = 1; $id <= $countTotal; ++$id) {
         $relatedEntity = $otherEntity->relatedEntities()->find($otherRelatedEntities[$id]->id);
         $this->assertEquals($id, $relatedEntity->pivot->m2m_related_entity_position);
     }
 }